我刚刚结束了一个相当大的分支,我从事了2个月以上。我只是将master调整为基础,不得不解决一些冲突。现在,我已经重新建立了功能分支的基础,如何才能逐个文件查看功能分支与主分支之间的比较结果突出显示的差异,以确保重新建立基础正确?
这里的大多数答案都建议使用git diff
,但是该方法的con是它在控制台中显示了diff,这并不总是很方便。这是一些替代方法,它们将打开GUI。
使用Gitk通常,在git时(尤其是在Windows中,使用git-scm时),您会得到一个名为GitK的GUI工具,该工具可用于显示更改。因此,只需键入:
gitk --all
然后将打开GUI,您可以在其中查看提交和每次提交所做的更改。
使用DiffTool
改用git difftool
,并在首选的差异工具中显示差异。只需在控制台中键入difftool
而不是diff
,如下所示:
查看两个分支之间的更改:
# For all the files
git difftool branch1..branch2
# For a single file
git difftool branch1..branch2 "filepath"
要查看上一次提交的更改
# For all the files
git difftool HEAD~1
# For a single file
git difftool HEAD~1 "filepath"
查看具有ID(全部/单个文件)的提交以来的更改:
# For all the files
git difftool commitId
# For a single file
git difftool commitId "filepath"
要查看两次提交之间的更改:
# For all the files
git difftool commitId1..commitId2
# For a single file
git difftool commitId1..commitId2 "filepath"
[Notes
difftool
将打开您的默认差异工具,该工具通常设置为VimDiff。但是,如果您想将其更改为其他名称,只需使用this更改ID。就我而言,我使用了Visual Studio as a diff tool,它是这样工作的:git diff
而不是git difftool
一起使用,只需保持相同的参数即可。喜欢这个:
git diff master
您一次可以提供一个文件:
git diff master -- some-file-path
git diff branch1..branch2
使用此命令,Git将比较两个分支的尖端(也称为HEAD),并显示一个“ diff”摘要,您可以用来查看修改。简而言之,它将向您显示“ branch2”具有的所有不在“ branch1”中的提交。
git diff branch1...branch2
使用带有三个点的“ git diff”将右分支(HEAD)的顶部与两个分支的共同祖先进行比较。