Git重新推送一个推送的功能分支
我有一个长时间运行的本地功能分支,我定期压缩并重新与主设备保持最新的本地。
完成后,我希望我的功能在主控制器上的一个压缩的提交中。
但是,我担心在硬件问题的情况下会丢失我的工作,所以我把它推到github上的一个新功能部门作为预防措施。 由于这样做,我不确定如何让我的功能分支保持最新,因为它已经被推送(我宁愿不合并创建合并提交的主更改)。
我是唯一使用此功能分支的开发人员。 所以我不担心在已经推送的分支上重写历史记录。 推送额外的提交到我的远程功能分支是否正常,当我完成这个功能时压缩那个分支,然后将它重新分配给主设备? 或者,因为分支机构已经公开,git会抛出关于分支机构分歧的一些错误?
或者,我在想,当我的工作完成后,我可以简单地解开远程功能分支(以便我的本地分支不再与远程分支有关联),压缩本地功能分支中的提交,然后重新绑定我的功能在本地主分支上分支。
推送额外的提交到我的远程功能分支是否正常,当我完成这个功能时压缩那个分支,然后将它重新分配给主设备?
是的,是的,是的。 既然你说你不害怕重写这个分支的历史,你可以用它做任何你想做的事情。
或者,因为分支机构已经公开,git会抛出关于分支机构分歧的一些错误?
Git没有公共和私人分支的概念。 你可以公开或私下使用分支,Git不会抱怨。
当你在master
重新分支你的分支时,你基本上会从你从master
的时间线分支的点开始重放你的commit。 如果在该点之后在master
中提交了提交,并且在该点之后您在功能分支中进行了提交,那么master
和您的分支已经发生分歧。 当你重组时,可能会有冲突,这取决于两个分支的变化。
总而言之,您可以在您未记录的功能分支中执行任何操作,然后在master
上重新绑定。 当然,取决于你做什么,重组可能更容易(很少或没有冲突)或更难(很多冲突)。 你经常重组可能是件好事,这样你一点一点地发现冲突,而不是同时发生很多冲突。
上一篇: Git rebase a pushed feature branch
下一篇: Merge vs rebase