我想确保人们在合并主题分支之前先使用rebase。 所以我正在寻找一种方法来知道一个人是否做过。
有办法吗git log
?
答案 0 :(得分:0)
以下命令为您提供了功能分支的根提交
git merge-base the-branch develop
另一方面,您可以检查2转之间的提交次数
git rev-list --left-right --count rev1...rev2
任何大于0的值都意味着可以基于功能分支
git rev-list --count develop...`(git merge-base the-branch develop)`
答案 1 :(得分:0)
我总是通过简单的视觉检查来做到这一点。
git log --all --oneline --graph --decorate
这将打印出一个非常漂亮的git日志图形视图。然后,通过确保有master
的直接行返回到*
,可以查看分支是否基于master
(或任何其他分支)。>
例如,在下图中,您可以看到foo
分支(第3行)基于master
,但是bar
分支(第1行)基于提交31aaea6
* 820ee6d (bar) Second commit not off master
* 9dd860f First commit not off master
| * 58e01a5 (foo) Recreate quiz from code
| * 725aa0e Add grading capability to quiz
| * 835dbb9 (origin/master, master) Implement the blog
| |\
|/ /
| * 01c1d1a Add the date to the blog post cards
| * f96960d Implement blog code syntax highlighting
| * d88b941 Show featured photos on the home page
|/
* 31aaea6 Add photoswipe image gallery
答案 2 :(得分:0)
只有在目标分支的git merge --ff-only <topic-branch>
是HEAD
的祖先的情况下,与topic-branch
的合并才能成功,即topic-branch
如果目标分支已经重新建立到目标分支上自topic-branch
分支以来已更新。另请参阅fast-forward merge文档。