我有一个'主'分支和几个主题分支.假设主分支主要用作发布候选者,并且在该分支上不进行任何开发工作.
主题分支是多个,由团队共享.一些分支机构有多个开发人员在开发它们.所有主题分支都定期从主分支重新定位.
为了清理'master'分支中的历史记录,我在将代码从主题分支到主分支时进行了'git merge --squash'.这非常好.
现在 - 当主题分支被重新定位时 - 提交正在重复.有没有办法在'git merge --squash'成功后清理主题分支上的提交?
让我们假设您有以下情况:
A - B - C (master)
\
D - E (topic)
Run Code Online (Sandbox Code Playgroud)
如果你使用--squash将主题合并到master中,你会得到类似的东西
A - B - C - F (master)
\
D - E (topic)
Run Code Online (Sandbox Code Playgroud)
其中F包含来自D和E的所有更改.由于主题分支已经在主(通过F),因此在master上重新讨论主题没有意义.您可以将主题分支移动到F,而不是重新定位
git checkout master
git branch -f topic F
Run Code Online (Sandbox Code Playgroud)
产量:
A - B - C - F (master/topic)
Run Code Online (Sandbox Code Playgroud)
您现在需要做的就是推动移动的主题分支:
git push -f origin topic
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2923 次 |
最近记录: |