我和一个用git进行源代码管理的小团队合作。最近,我们一直在使用主题分支来跟踪功能,然后将它们合并到本地的master分支,然后推送到远程服务器上的中央git存储库。当master分支没有发生更改时,这种方法效果很好:我创建主题分支,提交它,将其合并到master分支,然后推送。太好了。
但是,如果有人在我之前推送到原始库,那么我的提交就不是快进式的。因此,会出现合并提交。当主题分支需要与本地的master分支合并以确保我的更改与当前的代码相匹配时,也会发生这种情况。因此,我们到处都是合并提交,并且git日志可以与友谊手链相媲美。
因此,重新设置基础是明显的选择。我想要的是:
- 创建包含多个提交的主题分支
- 切换到master并拉取(快进因为我没有提交到master)
- 将主题分支重新设置到新的master头部
- 将主题分支重新设置为对master进行重新基础化,使主题从主线头部开始,并将主线提升到我的主题头部
我目前的做法如下:
git checkout master
git rebase master topic_1
git rebase topic_1 topic_2
git checkout master
git rebase topic_2
git branch -d topic_1 topic_2
有更快的方法吗?