Answers:
您可以得到一个很好的可视化输出,它与此相关的分支如何不同
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X
git log --oneline --graph --all --decorate --abbrev-commit
将以更短/更易读的命令为您提供类似的输出
git log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset'
git log --oneline --graph --all --decorate
足够,--abbrev-commit
不是必需的,--oneline
它的缩写--pretty=oneline --abbrev-commit
您可以轻松地做到这一点
git log master..branch-X
这将显示您提交了branch-X但master没有的内容。
branch-X
您可以使用git log master..
git log master...branch-X
(三个点代替两个点)。请参阅man gitrevisions
以获取更多信息。
我认为这是选择和上下文的问题。我更喜欢使用
git log origin/master..origin/develop --oneline --no-merges
它将显示开发中不在master分支中的提交。
如果要查看实际修改了哪些文件,请使用
git diff --stat origin/master..origin/develop --no-merges
如果不指定参数,它将显示完整的差异。如果要查看视觉差异,请meld
在Linux或WinMerge
Windows上安装。确保它们是默认的difftools。然后使用类似
git difftool -y origin/master..origin/develop --no-merges
如果您想将其与当前分支进行比较。使用HEAD代替使用分支名称更方便:
git fetch
git log origin/master..HEAD --oneline --no-merges
它将显示所有即将合并的提交
--no-merges
:git log origin/master..HEAD --oneline --no-merges
我建议以下内容查看“提交”中的区别。对于对称差,请使用倒数args重复该命令:
git cherry -v master [your branch, or HEAD as default]
我使用了一些答案,并找到了适合我的情况的答案(确保所有任务都在release分支中)。
其他方法也可以使用,但是我发现它们可能会添加不需要的行,例如不增加任何值的合并提交。
git fetch
git log origin/master..origin/release-1.1 --oneline --no-merges
或者您可以将您的当前水平与硕士
git fetch
git log origin/master..HEAD --oneline --no-merges
git fetch
确保您使用的是最新信息。
这样,每次提交都会在线上,您可以将其复制/粘贴到文本编辑器中,然后开始比较任务和将要合并的提交。