如何将所有提交从特定提交移动到新分支

时间:2017-05-30 22:08:53

标签: git version-control

错误地,我向主分支做了几次提交。现在我想清理master分支并将所有提交从它移动到一个全新的分支。我怎么做?我发现很少有类似的问题,但似乎没有人提出以下所有提交。我做了以下

git checkout -b bulk-work <hash of the first commit I made> 

我希望在第一次提交之后移动所有提交以移动到新分支。相反,它将特定提交及其父级移动到新提交。我该如何反向,即将第一次提交和之后的所有提交移动到新分支?

1 个答案:

答案 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>

因为我做的第一个命令创建了一个新分支并将其检出。

执行这些操作后,请务必检查批量工作分支以继续工作,直到您准备好合并为止,我假设您从那里知道。