如何知道开发人员是否在Git中的主题分支中执行了重定基操作

sc4hvdpw  于 2022-12-10  发布在  Git
关注(0)|答案(4)|浏览(113)

我想确保人们在合并一个主题分支之前使用rebase。所以我正在寻找一种方法来知道一个人是否已经这样做了。

git log

5m1hhzi4

5m1hhzi41#

以下命令提供了特性分支的根提交

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)`
9jyewag0

9jyewag02#

我总是通过简单的目视检查来完成此操作。

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
yshpjwxd

yshpjwxd3#

只有当目标分支的HEADtopic-branch的祖先时,与git merge --ff-only <topic-branch>的合并才能成功,也就是说,如果目标分支在topic-branch分支后被更新,则topic-branch已经被重定基到目标分支上。

pzfprimi

pzfprimi4#

Git rebase在整个SDLC过程中是非常重要的,因为它维护并保持提交历史非常干净。虽然BitBucket不像它的替代品那样在它的GUI上有这个特性。但是这里有一个方法可以在合并分支之前检查分支是否正确地基于主分支之上进行了rebase。

git fetch
git log --graph <branch-to-merge> <main-branch>

git fetch命令将提交、文件和引用从远程仓库下载到本地仓库,第二个命令给出了一个很好的可视化表示,显示了要合并的分支的基础。如果它是一个线性线/图,那么要合并的分支是基于主分支上最新的代码/提交。

相关问题