我有两个分支:branch_1
和branch_2
.
我怎样才能看到它们之间的差异?
你想使用git diff。
git diff [<options>] <commit>..<commit> [--] [<path>…]
<commit>
您的分支名称、提交的哈希值或速记符号引用在哪里
例如git diff abc123..def567
或git diff HEAD..origin/master
这将产生两个分支的尖端之间的差异。如果您希望从他们的共同祖先中找到差异进行测试,您可以使用三个点而不是两个点:
git diff <commit>...<commit>
如果您只想检查哪些文件不同,而不是内容有何不同,请使用--name-only
:
git diff --name-only <commit>..<commit>
请注意,在<commit>..<commit>
(两点)语法中,点是可选的;以下是同义词:
git diff commit1 commit2
这很简单。你只去一个分支(例如main
是你的分支)。
运行命令
git checkout main
git diff branch2
代码很简单git diff master..develop
选项:
--name-only
以仅查看文件的名称。-- folderOrFileName
在最后添加。fetch --all
获取所有远程分支,然后运行git diff --name-only [branchName]..origin/[branchName]
. 例如git diff --name-only develop..origin/develop
有许多不同的方法来比较分支,这取决于您需要的特定用例。
很多时候你想比较是因为有什么东西坏了,你想看看发生了什么变化,然后修复它,并在提交之前再次查看发生了什么变化。
就个人而言,当我想查看差异时,我喜欢做什么:
git checkout branch_1 # checkout the oldest branch
git checkout -b compare-branch # create a new branch
git merge --no-commit --squash branch_2 # put files from the new branch in the working folder
git status # see file names that changes
git diff # see the content that changed.
使用此解决方案,您将看到差异,您还可以使用 仅查看文件名git status
,以及在查看差异时您将能够执行的最重要部分branch_2
(branch_2 在工作树上)。如果出现问题,您可以编辑文件并修复它。任何时候,您都可以再次输入git status
或git diff
查看新编辑与branch_a
.
您可以简单地显示差异 -
git diff b1...b2
或者您可以使用 - 显示提交差异 -
git log b1..b2
您可以使用漂亮的图形方式查看提交差异 -
git log --oneline --graph --decorate --abbrev-commit b1..b2