Git更改主要原点/ HEAD和原点/主数据

时间:2014-08-23 15:17:15

标签: git github git-branch tortoisegit

在我的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

1 个答案:

答案 0 :(得分:5)

首先从你当前的HEAD创建一个新的分支proto_branch(你应该在master上):

git branch proto_branch

现在您master proto_branchF {/ 1}}。

现在要移动master以提交C,请执行reset --hard。你应该再次访问master分支。请注意,在进行硬重置之前,不应进行任何本地修改。如果存在,先将它们藏起来。

git reset --hard C

然后将origin/master移至此提交,请执行force-push

git push -f origin master