Git 如何在重基完成后将分支指向主分支
我对git的rebase工作流不是很清楚,我试着对下面提到的两个不同的分支进行rebase 但我无法将我的分支更新到主节点在重基完成后指向的位置 下面是我执行的步骤Git 如何在重基完成后将分支指向主分支,git,github,Git,Github,我对git的rebase工作流不是很清楚,我试着对下面提到的两个不同的分支进行rebase 但我无法将我的分支更新到主节点在重基完成后指向的位置 下面是我执行的步骤 git clone https://github.com/myadmin/testrepo.git git checkout -b hotfix git push origin hotfix modify file "todo.txt" on hotfix branch. git add todo.txt git commit
git clone https://github.com/myadmin/testrepo.git
git checkout -b hotfix
git push origin hotfix
modify file "todo.txt" on hotfix branch.
git add todo.txt
git commit -m "todo updates"
git push remote master
现在我签出“主”分支
到目前为止,我只是用1次提交来阻止分支“master”和“hotfix”,所以我可以执行重基 现在我使用以下命令重新设置基础
git checkout hotfix
git rebase master
所以我得到了冲突,所以,我在文本编辑器中打开文件手动修复所有冲突,然后再次添加并提交该文件,如下所示
git add todo.txt
git commit -m "resolve conflict"
git rebase --continue
直到现在我的重基完成,现在我想移动我的“主”指针,所以我在下面运行命令
git checkout master
git merge hotfix
现在我完美地将我的“热修复”更改为“主”
我的评估从这里开始……
如何将我的“热修复程序”分支指向在重新基址操作后“主程序”当前所在的位置?只需执行以下操作:
git checkout hotfix
git merge master
感谢您的快速回复,但在这种情况下,它会再次产生冲突,对吗?这是不是一个正确的流程,为重新基地或没有,请分享您的宝贵意见,因为你刚刚合并到主补丁,合并到主补丁主补丁应该只是一个快速前进的合并,即它应该只是提前热补丁指向主。实际上,我很惊讶,你甚至需要这样做,因为我假设你将热修复程序合并到主程序本身就是一个FF合并。David,这意味着在将热修复程序合并到主程序之后,不需要更新“热修复程序”分支。所以我假设我遵循的工作流程是正确的?再次感谢David无需更新热修复程序。您可以通过执行
git rev parse hotfix
和git rev parse master
来确认这一点,并确认这两者的输出相同。就你的工作流程而言,我觉得还不错。就我个人而言,我更喜欢在集成功能或修补程序时进行合并,而不是重新基础(特别是在存在冲突时),但这是我个人的偏好。你真的将分支修补程序
推到远程的主,而分支master
到remote
的hotfix
?您知道对推送的分支进行重定基址通常是一个非常糟糕的主意,对吗?
git checkout hotfix
git merge master