我在master上工作,却忘记了我没有更改分支,而是尝试进行推送,但是由于我无法(我很高兴)的限制,我改变了开发方向,但是提交仍然保留在master上,我该怎么办?转移到开发?
答案 0 :(得分:3)
只需针对这种情况提供完整版的Cherry-pick解决方案(此操作也会在之后从master删除提交)
git checkout develop
git cherry-pick master
git checkout master
git reset --hard HEAD^
答案 1 :(得分:1)
通过重置,您可以将更改恢复到工作树中。
然后,切换到要提交的分支,然后提交更改。
git checkout master
git reset --soft HEAD~1
git checkout develop
git commit
HEAD~1
指的是两次提交。您还可以将 prior 提交的提交用于错误的提交。
--soft
意味着将更改从提交中删除(但将其保留在您的工作区中),并将其保留在“登台”区域中。
没有--soft
的git默认为--mixed
,这也会重置临时区域,如果您没有其他本地更改,这没什么大不了的。您只需要通过git add xyz.txt
或其他方式重新添加它们即可。
答案 2 :(得分:0)
我了解如何执行此操作,我需要转到要将更改转移到的分支并使用git cherry-pick commit identifier