代码之家  ›  专栏  ›  技术社区  ›  cbdeveloper

不小心被分配到了主要部门而不是发展部门。现在我的主要部门在发展部门前面。我该怎么修?

  •  0
  • cbdeveloper  · 技术社区  · 5 年前

    develop main 分支机构。当然,我应该在 发展 ). 我独自一人在这个项目中工作,所以唯一的改变是由我做的。

    两者 以及 发展 都在同一个地方。因为我已经合并了 发展 到 主要的

    然后我开始编写代码,并在 主要的 ,以为我在 发展

    所以现在我的 主要的 发展 分支机构。这和我现在应该去的地方正好相反。

    不管怎样,我对我所做的承诺很满意,但是现在我需要我的分支在同一点再次相遇(即:我需要我的分支) 发展 错误地)。

    我该怎么办?重设基础或合并 到 发展 ?

    注意:这只是本地的。没有人推。

    0 回复  |  直到 5 年前
        1
  •  3
  •   LeGEC    5 年前

    您只需交换本地分支机构:

    # from 'master', write down the current commit sha :
    git log -1 master
    # or store it in a shell variable :
    commitsha=$(git rev-parse HEAD)
    
    # reset your master branch to where 'develop' is :
    git reset develop
    
    # switch to develop :
    git switch develop
    
    # reset your develop branch to the sha at step 1 :
    git reset $commitsha
    

    笔记 :使用 git reset (默认为 git reset --mixed

    如果在序列的开头有要保留的阶段性更改,可以使用 git reset --soft (对于这两个调用),这将额外保留索引的内容。

    我明确地 没有 使用 --hard 标志: git reset --hard
    如果您有一个干净的工作树,或者如果您知道您不关心未提交的更改,那么这可能很好,只要知道如果您使用它,您会做什么。

        2
  •  2
  •   TTT    5 年前

    LeGEC's answer “交换分支”。在Git中,通常有许多方法可以实现相同的目标。这是另一种思考的方式 轻微地 更多才多艺。如果两个分支在同一个commit上,那么这个方法可以工作,但是如果“另一个”分支甚至还不存在(可能是因为您打算创建一个新分支,但是没有)。

    master

    git branch -f develop   # create branch develop, or reset develop it if already exists
    git reset --hard @~2    # reset master back 2 commits (note @~2 is like HEAD~2)
    
    推荐文章