3

我之前用过git-diffall,但是作者说它被命令废弃git difftool --dir-diff

该命令git difftool --dir-diff无法复制我在 difftool 中更改的代码,就像git-diffall 的--copy-back选项一样

我在网上搜了一下,只找到了这个,看起来很复杂……:

[PATCH] difftool --dir-diff: 复制所有匹配工作树的文件

当您使用 difftool 并对代码进行一些更改时,您会怎么做?

谢谢

4

1 回答 1

6

命令 git difftool --dir-diff 无法复制我在 difftool 中更改的代码,就像 git-diffall 的 --copy-back 选项一样。

修改后的文件会被复制回来,只要您要区分的一侧是工作树。那是:

git difftool --dir-diff other-commit

将显示other-commit在左侧,在右侧显示当前工作树中的修改文件。工具退出后,权利的文件将被复制回您的工作树。(使用 v1.8.3.2 测试。)

只有在它们最初是您的工作副本时将它们复制回来才有意义:从任意差异复制文件会覆盖您的工作树。但是,如果您希望您的工作树是来自 的版本commit2,将其与树进行比较并将commit1这些更改保留在您的树中,您可以通过首先检查该版本来明确这一点:

git checkout commit2 -- specific-file
git difftool --dir-diff commit1
于 2014-02-27T03:58:54.637 回答