我的回购高级层次如下:
/dir1
/dir2
/dir3我在HEAD上,git log --oneline --first-parent -5 -- dir1/给出了如下内容:
abcb COMM-25 Fix latest
ba0f COMM-17 Some stuff
cda8 New files
db7c COMM-9 Feature merge
e20a Init smth网络上有很多很酷的东西,比如git log --oneline --first-parent db7c.. -- dir1/
abcb COMM-25 Fix latest
ba0f COMM-17 Some stuff
cda8 New files甚至git log --oneline --first-parent db7c..ba0f -- dir1/在两端都有限制
ba0f COMM-17 Some stuff
cda8 New files但是,见鬼,,我找不到任何可以帮助输出所有提交到特定提交id的东西。我需要像git log --oneline --first-parent ..cda8 -- dir1/这样的东西
cda8 New files
db7c COMM-9 Feature merge
e20a Init smth
<...>只有cda8散列。,上面最新的命令当然是伪代码,在现实生活中没有提供任何输出(不幸的是:)。
那么,如何在不更改头的情况下列出特定目录中和给定提交id (包括在内)之前的所有提交?
我认为我可以接受修改dir1内容(只修改dir1,而不是接触dir2和dir3!),但是做git checkout cda8 dir1/或git reset cda8 dir1/不会对后续的git log <...> -- dir1/输出产生任何影响。
帮帮忙,吉特古鲁!
发布于 2019-04-06 12:53:11
我认为你在这里太努力了,这就是为什么你看不到隐藏在眼前的解决方案。
您所要求的是标准日志行为当给出一个重构规范时。它将记录所有可访问的提交历史*从那一点开始:
git log --oneline --first-parent cda8 -- dir1/(请注意,我做了您的最后一次尝试,省略"**..**")的应该输出:
cda8 New files
db7c COMM-9 Feature merge
e20a Init smth
...
<follows ALL the rest of commits history (but only those which have modified dir1/)>* git中的“可达”应理解为“通过对给定提交的父母进行递归探索而达到”。
https://stackoverflow.com/questions/55537185
复制相似问题