错误地,我向主分支做了几次提交。现在我想清理master分支并将所有提交从它移动到一个全新的分支。我怎么做?我发现很少有类似的问题,但似乎没有人提出以下所有提交。我做了以下
git checkout -b bulk-work <hash of the first commit I made>
我希望在第一次提交之后移动所有提交以移动到新分支。相反,它将特定提交及其父级移动到新提交。我该如何反向,即将第一次提交和之后的所有提交移动到新分支?
答案 0 :(得分:2)
如果我理解你想要做的正确,我会这样做:
git checkout -b bulk-work
就像你曾经那样;这基本上是所有主分支的副本。然后我会这样做:
git checkout master
git reset --hard <the hash of a commit to reset to>
这使得你的主分支一直回到你在&#39;&lt;&gt;&#39;中放入的任何哈希值。
我认为通过你可以这样做的方式简化这个:
git branch bulk-work
git reset --hard <hash>
因为我做的第一个命令创建了一个新分支并将其检出。
执行这些操作后,请务必检查批量工作分支以继续工作,直到您准备好合并为止,我假设您从那里知道。