在本地,我忘了从主分支创建一个功能分支,然后将我的更改提交到主分支。
如何更正错误,以便从主分支中删除提交,并将其设置为新的功能分支?
感谢。
答案 0 :(得分:3)
git checkout master
git checkout -b my-feature-branch
git checkout master
git reset --hard HEAD~1
git checkout my-feature-branch
说明:
master
分支。master
分支。master
分支重置为最后一个之前的提交。答案 1 :(得分:2)
让我们考虑一下情况
提交前
... -- A ^ | master提交后
... -- A -- B ^ | master
要解决问题,您需要执行以下步骤:
方法1
git branch -m feature
... -- A -- B ^ | feature
git checkout -b master A
... -- A -- B ^ ^ | | | feature | master
方法2
git checkout -b feature
... -- A -- B ^ | feature * master
git checkout master
... -- A -- B ^ | feature master *
git reset --hard HEAD~1
... -- A -- B ^ ^ | | | feature | master