我以前用过git-diffall,但是作者用git difftool --dir-diff
命令说it was obsolete。
命令git difftool --dir-diff
无法复制我在difftool中更改的代码,比如git-diffall's --copy-back
option do。
我在网上搜索了一下,只找到了这个,看起来很复杂…
[PATCH] difftool --dir-diff: copy back all files matching the working tree
当您使用difftool并对代码进行一些更改时,您会怎么做?
谢谢
最佳答案
命令git difftool--dir diff无法复制我在difftool中更改的代码,就像git diffall的--copy back选项一样。
修改后的文件会被复制回去,只要你所扩散的一边是工作树。即:
git difftool --dir-diff other-commit
将在左侧显示
other-commit
,在右侧当前工作树中显示已修改的文件。在工具退出后,右边的文件将被复制回您的工作树。(使用v1.8.3.2进行测试。)当它们最初是您的工作副本时,将它们复制回来才有意义:从任意diff复制文件将覆盖您的工作树。但是,如果您希望您的工作树是
commit2
中的版本,将其与commit1
进行比较并将这些更改保留在树中,则可以通过首先签出该版本来明确:git checkout commit2 -- specific-file
git difftool --dir-diff commit1