Git 显示不同分支中文件之间的差异并编辑其中一个

Git 显示不同分支中文件之间的差异并编辑其中一个,git,branch,Git,Branch,我在两个不同的分支中有两个文件:branch1:./path1/fileA.dat和branch2:./path2/fileB.dat 我想将这些文件相互比较,并根据显示的差异编辑其中一个文件,例如fileA.dat 如果我签出branchbranch1并使用命令(如上所述): 我可以看到这些文件之间的差异(我使用difftool),但它们都是作为临时文件打开的,因此我无法在branch1中真正编辑fileA.dat,因为关闭Meld后更改将丢失 这不是我所期望的,因为如果我使用非常类似的命令:

我在两个不同的分支中有两个文件:
branch1:./path1/fileA.dat
branch2:./path2/fileB.dat

我想将这些文件相互比较,并根据显示的差异编辑其中一个文件,例如
fileA.dat

如果我签出branch
branch1
并使用命令(如上所述):

我可以看到这些文件之间的差异(我使用difftool),但它们都是作为临时文件打开的,因此我无法在
branch1
中真正编辑
fileA.dat
,因为关闭Meld后更改将丢失

这不是我所期望的,因为如果我使用非常类似的命令:

我可以编辑它并保存更改


我在这里做错了什么,还是这就是git的行为方式?

这并不酷,但很有效

首先,照你做的去做

git difftool branch1:./path1/fileA.dat branch2:./path2/fileB.dat
接下来,在Meld中单击“浏览…”并手动选择fileA.dat


然后您可以编辑并保存它。

您完全正确,这非常有效。我仍然想知道为什么默认情况下,
git
不这么做。我会把这个问题留一点时间,看看其他人是否有更“git”的方法,否则我会把你的答案标记为接受。谢谢谢谢我还试图找到difftool/meld选项来执行此操作,但找不到。希望有人有一个完美的答案。
git difftool branch1 branch2 file.dat
git difftool branch1:./path1/fileA.dat branch2:./path2/fileB.dat