我们正在合并功能分支 - >释放分支。
我们意外地将提交推送到release-branch而不是feature-branch。
我们如何将提交转移到feature-branch和release-branch,同时允许我们不断对功能分支进行更改并最终将其全部合并到release-branch?
我们可以做到:
git checkout feature-branch
git merge release-branch
git checkout release-branch
git reset --hard HEAD~1
但是如何对feature-branch进行更改然后合并到release-branch,从而将原始提交和更改转换为release-branch?
你能这样做吗?
git checkout feature-branch
//Make changes to feature-branch
git checkout release-branch
git merge feature-branch
答案 0 :(得分:4)
当然你可以这样做,但既然你说你“推”了提交,那么你的本地存储库似乎不仅会受到影响。因此,在git reset --hard HEAD~1
之后,您必须执行git push --force
将非转发更新推送到远程发布分支。
同样地,所有将release-branch的错误提交已经进入其本地存储库的开发人员必须执行git reset --merge origin/release-branch
以将其设置为新的远程状态(而origin
必须被替换用遥控器的名字。)
答案 1 :(得分:0)
如果你想保持简单,只需从release-branch到功能分支选择提交,然后只需在release-branch中恢复提交即可。你没有做任何对历史的看法 - 只是简单的香草git命令。