Git更改主原点/磁头和原点/主原点
在我的Git回购中,我有一组定期提交。然而,最后四次提交只是一些原型代码,实际上应该是一个分支。我如何回到以前的提交并将原型代码放到它自己的分支上 在《陆龟集》中,我在头部看到类似的东西Git更改主原点/磁头和原点/主原点,git,github,git-branch,tortoisegit,Git,Github,Git Branch,Tortoisegit,在我的Git回购中,我有一组定期提交。然而,最后四次提交只是一些原型代码,实际上应该是一个分支。我如何回到以前的提交并将原型代码放到它自己的分支上 在《陆龟集》中,我在头部看到类似的东西 A -- B -- C -- D -- E -- F | master origin/master origin/HEAD 我想要
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_分支
合并到主流中。所以如果我继续犯下这样的错误
A -- B -- C -- D -- E -- F
| |
G I
| |
H proto_branch
|
master
origin/master
origin/HEAD
首先从您当前的主管处创建一个新的分支机构
proto_branch
(您应该是master):
现在,您在F
上同时拥有master
和proto_分支
现在要移动master
以提交C
,请执行重置--hard
。同样,您应该在master
分支上。请注意,在执行硬重置之前,不应进行任何本地修改。如果有,先把它们藏起来
git reset --hard C
然后要将origin/master
移动到此提交,请执行强制推送
:
git push -f origin master
@0x499602D2:是。这将使工作目录保持不变(避免了
git隐藏
的需要,但也会使您处于一种特殊的情况:您在分支主目录上,但设置时就像在分支proto_分支
上一样)。如果你想这样做,最好从git checkout-b proto_branch开始,这是第一步。它工作得很好,救了我的命。谢谢
git push -f origin master