我有两个分支devel和next.在开发中,我或多或少都有大量的提交.一些提交是樱桃挑选的next.此外,我添加了一些提交到下一个合并到devel.
现在我想看看缺少什么next,所以我可以在将它们带到之前测试细节上的变化next.我现在的问题是,如何查看哪些提交devel但未包含?
Mar*_*air 198
这个很少使用的命令会git cherry显示尚未被挑选出来的提交.这里的文档git cherry就在这里,但简而言之,您应该能够做到:
git checkout devel
git cherry next
Run Code Online (Sandbox Code Playgroud)
...并看到输出有点像这样:
+ 492508acab7b454eee8b805f8ba906056eede0ff
- 5ceb5a9077ddb9e78b1e8f24bfc70e674c627949
+ b4459544c000f4d51d1ec23f279d9cdb19c1d32b
+ b6ce3b78e938644a293b2dd2a15b2fecb1b54cd9
Run Code Online (Sandbox Code Playgroud)
开头的提交+将是你尚未挑选的提交next.在这种情况下,到目前为止我只选择了一个提交.您可能希望将该-v参数添加到git cherry命令中,以便它还输出每个提交的主题行.
seh*_*ehe 102
另外,你可以使用
git log --left-right --graph --cherry-pick --oneline devel...next
Run Code Online (Sandbox Code Playgroud)
获取分支之间不共享的实际不同提交的良好列表.
操作词是 --cherry-pick
--cherry-pick当提交集受限于对称差异时,省略任何引用与"另一方"上的另一个提交相同的更改的提交.例如,如果您有两个分支A和B,通常只在一侧列出所有提交的方法是--left-right,就像上面该选项说明中的示例一样.然而,它显示了从另一个分支中挑选出来的提交(例如,"b上的第3个"可以从分支A中挑选出来).使用此选项,将从输出中排除此类提交对.
更新如评论中所述,最新版本的git添加了--cherry-mark:
--cherry-mark像--cherry-pick(见下文)但标记等效提交=而不是省略它们,而不等价的提交+.
Bry*_*ley 49
您可以尝试执行git log子集:
git log --oneline devel ^next
Run Code Online (Sandbox Code Playgroud)
jus*_*don 25
怎么样
git log next..devel
Run Code Online (Sandbox Code Playgroud)
结果类似于Byran的答案(不同的提交顺序),但我们的答案都会产生分支之间不同的提交,而只是显示一个分支中的内容而不显示另一个分支中的内容.
| 归档时间: |
|
| 查看次数: |
68594 次 |
| 最近记录: |