如何将提交从master转移到另一个分支?

时间:2019-02-18 17:36:03

标签: git

我在master上工作,却忘记了我没有更改分支,而是尝试进行推送,但是由于我无法(我很高兴)的限制,我改变了开发方向,但是提交仍然保留在master上,我该怎么办?转移到开发?

3 个答案:

答案 0 :(得分:3)

只需针对这种情况提供完整版的Cherry-pick解决方案(此操作也会在之后从master删除提交)

git checkout develop
git cherry-pick master
git checkout master
git reset --hard HEAD^

答案 1 :(得分:1)

使用git reset。另请参见here

通过重置,您可以将更改恢复到工作树中。

然后,切换到要提交的分支,然后提交更改。

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