显示两个修订版之间已更改的文件

喜夏-厌秋 提交于 2019-12-06 12:15:37

我想合并两个已分开一段时间的分支,并想知道哪些文件已被修改。

看到这个链接: http//linux.yyz.us/git-howto.html这非常有用。

比较我遇到的分支的工具是:

  • git diff master..branch
  • git log master..branch
  • git shortlog master..branch

想知道是否有类似“git status master..branch”的东西只能看到两个分支之间不同的文件。

在没有创建新工具的情况下,我认为这是您现在可以做到的最接近的工具(如果文件被多次修改,当然会显示重复):

  • git diff master..branch | grep "^diff"

想知道是否有我遗漏的东西......


#1楼

还要记住,git具有便宜且易于分支的特点。 如果我认为合并可能有问题,我会为合并创建一个分支。 因此,如果master有我想要合并的更改, ba是我需要master的代码的分支,我可能会执行以下操作:

git checkout ba
git checkout -b ba-merge
git merge master
.... review new code and fix conflicts....
git commit
git checkout ba
git merge ba-merge
git branch -d ba-merge
git merge master

最终的结果是我必须在一个扔掉的分支上尝试合并,然后再拧紧我的分支。 如果我自己纠缠不清,我可以删除ba-merge分支并重新开始。


#2楼

如果有人试图从两个分支生成diff文件:

git diff master..otherbranch > myDiffFile.diff

#3楼

如果您使用的是IntelliJ IDEA ,还可以将任何分支与当前工作分支进行比较。 有关详细信息,请参阅http://www.jetbrains.com/idea/webhelp/merging-deleting-and-comparing-branches.html#d288093e3827 。 这也可以在免费版中找到。


#4楼

还有一种基于GUI的方法。

你可以使用gitk

  1. 跑:

    $ gitk --all
  2. 右键单击分支的提交 ,然后在弹出菜单中选择“ 标记此提交 ”。

  3. 右键单击另一个分支的提交,然后选择Diff this - > marked commitDiff marked commit - > this

然后,右下方面板中将显示已更改的文件列表,左下方面板中将显示diff详细信息。


#5楼

还有一个选择,在这种情况下使用meld:

git difftool -d master otherbranch

这不仅可以查看文件之间的差异,还可以提供指向和单击特定文件的简便方法。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!