我在主分支上进行了一系列良好的提交,但事后发现我应该在另一个分支上进行这些提交。我是否可以将从特定提交开始的这些提交移动到另一个分支,并将良好的提交保留在主分支上作为最后一个提交?
我在主分支上进行了一系列良好的提交,但事后发现我应该在另一个分支上进行这些提交。我是否可以将从特定提交开始的这些提交移动到另一个分支,并将良好的提交保留在主分支上作为最后一个提交?
$ git branch new-branch-name # Create a new branch from the current commit
$ git reset --hard <last good commit on master> # Reset master to the good commit
是的,你可以这样做,这将是两个单独的操作:
将提交从一个分支复制到你想要它们的分支:
git cherry-pick <hash_of_commit> --onto <target_branch>
然后修复主分支,将其还原到一个良好的提交状态:
git checkout master
git reset --hard <hash_of_good_commit>