我知道有很多关于git rebase的问题但是在我试图绕过它两周后我仍然遇到问题。
情境:
Nonprod Branch:
New code to push to production
生产部门
Production code waiting for an update from non-prod
我们正准备将非生产代码推向生产。
我们现在有一个紧急修补程序适用于生产。
git checkout production
git checkout -b hotfix_for_prod
<do some changes>
git add ...
git commit ....
git push ...
<Merging hotfix_for_prod with Production branch>
现在..
Nonprod Branch:
New code to push to production
生产部门
Production code waiting for an update of non-prod
Hotfix
我们希望从生产中改变非生产,但我们得到了一些非常奇怪的结果,这些冲突在当前的Nonprod或Prod状态下是不存在的。我们试过了:
git checkout Nonprod
git pull
git checkout -b nonprod_rebase_prod
git rebase production
<Strange results in many files that do not match Prod OR Nonprod branches>
编辑奇怪的行为会在文件中显示冲突,其中对文件进行更改的两个提交不是生产头或非生产头。提交必须进一步提交,但我们不希望得到任何结果。
然后我们尝试了这个:
git checkout production
git pull
git checkout -b prod_rebase_nonprod
git rebase nonprod
我们得到了我们期待的结果。这对我来说毫无意义。我会假设,因为Nonprod需要prod中的数据,当我们将prod中的nonprod变为非prod时,prod中的变化将在历史记录中非变态,我们甚至无法解决合并冲突,因为它们毫无意义
当我们将非产品变为prod时,我们得到了我们想要的结果,但这没有任何意义。当父母是原点时,如何将子分支重新绑定到父分支?那么我们是否将这个分支与非生产合并?
有人可以解释一下吗?
感谢任何反馈。