繁体   English   中英

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

[英]how to move all commits from a particular commit to new branch

错误地,我对master分支进行了几次提交。 现在,我想清理master分支并将所有提交从该分支移到一个全新的分支。 我怎么做? 我发现了几个类似的问题,但似乎都没有动摇所有后续的提交。 我做了以下

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

我期望这会在第一个提交移动到新分支之后移动所有提交。 相反,它将特定的提交及其父级移动到了新的提交。 我该如何反向操作,即将第一个提交和之后的所有提交移动到新分支?

如果我了解您要正确执行的操作,则可以执行以下操作:

git checkout -b bulk-work

就像你在那儿一样; 这实质上是所有master分支的副本。 然后我会这样做:

git checkout master
git reset --hard <the hash of a commit to reset to>

这样一来,您的master分支便会一直回绕到您放入'<>'中的任何哈希值。


我认为可以通过以下方式简化此操作:

git branch bulk-work
git reset --hard <hash>

从第一个命令开始,我做了一个新的分支并将其签出。


完成这些操作后,请确保签出您的批量工作分支以继续工作,直到您准备合并为止,并且我想您从那里知道了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM