如何查看分支
branch_1
和branch_2
之间的差异?git diff
命令。git diff [<options>] <commit>..<commit> [--] [<path>…]
git diff <commit>...<commit>
--name-only
。git diff --name-only <commit>..<commit>
git diff commit1 commit2
fatal: bad revision 'some-branch'
的错误提示,那么很可能是一个远程分支。你可能需要执行类似于 git diff remotes/origin/some-branch my-local-branch
这样的命令。 - Dalingit diff ..branch_2
比较当前分支与 branch_2 分支的差异。 - sweisgerber.dev进入一个分支(例如 main
),然后对比另一个分支(例如 branch2
)运行diff
命令:
git checkout main
git diff branch2
git diff master..develop
选项:
--name-only
仅查看文件名称。-- folderOrFileName
以查看特定文件或文件夹的更改。git fetch --all
以获取所有远程分支,然后运行:git diff --name-only [branchName]..origin/[branchName]
git diff --name-only develop..origin/develop
。git diff b1...b2
来显示差异,或者你可以使用git log b1..b2
来显示提交的差异。git log --oneline --graph --decorate --abbrev-commit b1..b2
以漂亮的图形方式查看提交的差异。有许多不同的方法来比较分支,这取决于您需要的具体用例。
很多时候你想要比较是因为出了问题,你想要看看改变了什么,然后修复它,并在提交之前再次查看改变了什么。
个人而言,在查看差异时我喜欢做的:
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
命令查看Git存储库中两个分支之间的差异。
git diff branch1 branch2
将显示所有差异。
如果您想比较两个分支之间的特定文件,可以使用以下命令:
git diff branch1 branch2 path/to/file
git log
命令也可用于查看两个分支之间的差异。使用—left-right参数和要比较的两个分支运行git log命令,如下所示:
git log --left-right branch1...branch2
HEAD
来引用当前分支的位置,并添加名为 --oneliner
的选项来缩小到仅包含提交信息。例如:git log --left-right --oneline HEAD...branch2
。 - Boaz当在功能分支上时,合并您的目标分支,然后对其运行差异。例如,如果您想查看您的feature
分支添加到master
的更改,请执行以下操作:
// Fetch from all remotes
git fetch
// Check out your feature branch
git checkout feature
// Merge origin/master to your branch
git merge origin/master
// Compare to origin/master
git diff origin/master
git diff --name-status master..branchName
确定哪些文件已更改,与使用类似git diff branch_1 branch_2
的方法查看分支之间的确切差异有明显的区别。或许我漏掉了一些显而易见的东西... - jwwgit difftool branch..otherBranch
命令可以让你使用可视化工具(如 Meld)来查看分支之间的差异。这就是答案。 - Greg Rundlett