use*_*512 11 git git-diff meld
我在这篇文章中关注了JörgWMittag 的回答,并将meld配置为我的git中的difftool.现在,我可以使用此命令完美地查看和比较不同分支中文件的差异:
git checkout branch1
git difftool branch1:file.f90 branch2:file.f90
Run Code Online (Sandbox Code Playgroud)
我执行了上面的命令,制作并保存了变化.但是,当我使用以下方法检查文件时:
emacs file.f90
Run Code Online (Sandbox Code Playgroud)
我之前在meld中所做的更改根本没有保存.我不明白为什么会这样; 我必须没有完全正确配置融合作为差异工具.任何人都可以帮我解决这个问题吗?谢谢!!
为避免需要两次指定文件名,请使用以下命令:
git difftool branch -- file
Run Code Online (Sandbox Code Playgroud)
这将branch:file
与file
工作树中的进行比较。
此外,要使用 区分整个工作树branch
,请使用:
git difftool --dir-diff branch
Run Code Online (Sandbox Code Playgroud)
如其他答案中所述,如果您需要branch
与other_branch
(某些分支与当前检出的分支不同)进行比较,则必须other_branch
在使用上述命令之前先检出。
因为您已明确指定要差异化的两个文件的分支,所以meld正在处理这两个文件的临时副本。尝试仅给出未检出的branch:file;的名称。这将使Meld将给定的branch:file的临时副本与已检出的同名文件进行比较。
为了保存更改,您需要将一些分支与当前工作文件进行比较。
在您的情况下:
git checkout branch1
git difftool branch2:file.f90 file.f90
Run Code Online (Sandbox Code Playgroud)
另外,您可以将整个分支与工作目录进行比较,并保存更改。我在这里提供了有关此的更多详细信息:https : //stackoverflow.com/a/22535996/2178047
归档时间: |
|
查看次数: |
2617 次 |
最近记录: |