在我的Git回购中,我有一组常规的提交。然而,最后四次提交只是一些原本应该是分支的原型代码。我怎样才能回到之前的提交并将原型代码放到它自己的分支上。
在TortoiseGit中我看到了类似的东西。
A -- B -- C -- D -- E -- F
|
master
origin/master
origin/HEAD
我想要的是:
A -- B -- C -- D -- E -- F
| |
master proto_branch
origin/master
origin/HEAD
然后当我处理完毕的C分支时,我们可以稍后将proto_branch
合并到主流中。因此,如果我继续提交,它将会是这样的。
A -- B -- C -- D -- E -- F
| |
G I
| |
H proto_branch
|
master
origin/master
origin/HEAD
答案 0 :(得分:5)
首先从你当前的HEAD创建一个新的分支proto_branch
(你应该在master上):
git branch proto_branch
现在您master
proto_branch
和F
{/ 1}}。
现在要移动master
以提交C
,请执行reset --hard
。你应该再次访问master
分支。请注意,在进行硬重置之前,不应进行任何本地修改。如果存在,先将它们藏起来。
git reset --hard C
然后将origin/master
移至此提交,请执行force-push
:
git push -f origin master