CB *_*ley 115
--no-merges
在git的许多情况下,父母双方都有相同的权重.如果您在合并其他更改时始终保持一致,那么您可能会发现这可以为您提供所需的内容.
git log --no-merges --first-parent
Run Code Online (Sandbox Code Playgroud)
否则,您可以从其他命名分支中排除提交.
git log --no-merges ^other-branch-1 ^other-branch-2 ^other-branch-3
Run Code Online (Sandbox Code Playgroud)
如果要查看要合并回主体分支的更改,那么最简单的方法是在本地克隆上执行合并,然后在发布合并之前使用第一个父项查看diff.
您可以使用git cherry
它,它会发现您尚未合并到上游的提交,或者在一个分支上但不在另一个分支上的提交.所以给了两个名为"your-branch"和"master"的分支:
git cherry -v your-branch master
Run Code Online (Sandbox Code Playgroud)
将显示与其修补程序ID相比的提交列表:
+ c3e441bf4759d4aa698b4a413f1f03368206e82f Updated Readme
- 2a9b2f5ab1fdb9ee0a630e62ca7aebbebd77f9a7 Fixed formatting
+ e037c1d90b812af27dce6ed11d2db9454a6a74c2 Corrected spelling mistake
Run Code Online (Sandbox Code Playgroud)
您可以注意到,以" - "为前缀的提交是出现在两个分支中的提交,而以"+"为前缀的提交仅在您的分支上可用.
作为替代方案,您可以使用:
git log --pretty=format:"%h %s" your-branch..master --no-merges
Run Code Online (Sandbox Code Playgroud)
这将显示在"你的分支"上完成的提交列表,这些提交尚未出现在"master"上