我想运行git difftool HEAD~3.. path/to/file并让git为这三个提交中的每一个打开difftool,这样我就可以看到每个提交的并排视图。
我该如何让git-difftool做到这一点呢?
发布于 2012-07-31 01:39:00
这将实现您所描述的:
git difftool HEAD~3 HEAD~2 path/to/file
git difftool HEAD~2 HEAD~1 path/to/file
git difftool HEAD~1 HEAD path/to/file想要自动化这个过程吗?总是提交三次吗?您想要三向合并吗?
更新:
如果答案是yes-yes-no,那么解决方案将是:
for i in {3..1}; do
git difftool HEAD~$i HEAD~$((i-1)) path/to/file
done更新:
如果答案是yes-no-yes,这基本上就是@ruffin问here的问题。请看我的答案。
发布于 2012-07-31 01:42:37
或者你可以直接运行git log -p --它做的和你想做的差不多
发布于 2012-08-04 01:07:30
更新:
Matthieu Moy建议更好的变体:
for rev in $(git rev-list <committish>.. ); do
git difftool ${rev} ${rev}~1;
done老版本的答案是:
我会说你应该这样做:
git rev-list <commitish>.. | wc -l或
git log --oneline <commitish>.. | wc -l这会计算出你的<commitish>和HEAD之间有多少个修订版。
然后,使用这个数字,您可以自动运行提交以查看差异
c=`git log --online <commitish>.. | wc -l`
while ! ${c} eq 0 ; do
git difftool HEAD~${c} HEAD~${($c-1)}
c=${c}-1
donehttps://stackoverflow.com/questions/11673434
复制相似问题