我如何看待分支branch_1和branch_2之间的差异?
当前回答
在功能分支上时,合并目标分支,然后对其运行diff。例如,如果您想查看功能分支添加到主分支的更改,请执行以下操作:
// 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
其他回答
有时候把差异看成一棵树很好。。。
gitdifftool—dir diff分支。。其他分支机构
例如,当bitbucket出于性能原因决定时,它只会显示“三向合并”差异,而不是您选择的两个分支之间的实际完全差异。
这将在您选择的工具中以树的形式显示差异。例如熔化。
灵感来自@GregRundlett评论。
转到一个分支(例如main),然后对另一个分支运行diff(例如branch2):
git checkout main
git diff branch2
您可以通过以下方式显示差异-数字差异b1…b2或者您可以使用-git日志b1.b2您可以使用-git-log--单线--图形--装饰--缩写提交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.
使用此解决方案,您将看到diff,您也只能看到使用git状态的文件名,最重要的是,您可以在看到diff时执行branch_2(branch_2位于工作树上)。如果有什么东西坏了,你可以编辑文件并修复它。任何时候,你都可以再次键入gitstatus或gitdiff来查看从新编辑到branch_a的差异。
git diff master..develop
选项:
添加--name仅用于查看文件的名称。在末尾添加--folderOrFileName以查看特定文件或文件夹的更改。要将本地分支与远程分支进行比较,请运行gitfetch--all以获取所有远程分支,然后运行:git diff--仅名称[branchName]。。origin/[分支名称]示例:gitdiff--name only develop。。起源/发展。
推荐文章
- 如何从远程Git存储库中提取并覆盖本地存储库中的更改?
- Github:导入上游分支到fork
- Git单次修订的日志
- Git在不改变提交时间戳的情况下进行改基
- VS 2017 Git本地提交数据库。每次提交时锁定错误
- 如何在过去的一些任意提交之间注入一个提交?
- 从GitHub克隆项目后拉git子模块
- GitHub上的分叉和克隆有什么区别?
- 递归地按模式添加文件
- 我如何使用notepad++(或其他)与msysgit?
- 如何将现有的解决方案从Visual Studio 2013添加到GitHub
- Git存储库中的悬垂提交和blob是什么?它们来自哪里?
- 我如何简单地从我最新的git提交创建一个补丁?
- Git显示“警告:永久添加到已知主机列表”
- 我如何检索一个回购的远程git地址?