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

git(gitlab)-合并失败-尝试“签出、审阅、本地合并”的说明

  •  0
  • NealWalters  · 技术社区  · 6 年前

    我尝试从我的用户分支合并到我们共享的“开发”分支。我是这个项目的唯一工作人员。Gitlab给了我以下的指示,我正在努力。

    enter image description here

    在步骤1中——当我执行“git获取源站”时——我在存储库中完成了这项工作——我已经在硬盘上完成了。对吗?如果我在一些新创建的目录中尝试它,它是syas“致命的:不是git存储库(或任何父目录):.git

    步骤1的第二部分- 我得到错误: 致命:分支名称“nw-ob210重构”已存在。

    所以我尝试在末尾添加一个2,我得到这个错误: 致命:“origin/nw-ob210refactor2”不是提交和分支“nw-ob210refactor” '无法从中创建

    以上Gitlab的说明是完整的和正确的,还是我做了一些明显错误的事情?

    2 回复  |  直到 6 年前
        1
  •  1
  •   NealWalters    6 年前
    git checkout -b localName origin/onlineName
    

    创建新的本地分支。见 man git checkout

    -“新支行”
    创建分支“new_branch”并在“start_point”处启动它;如果它已经存在,则将其重置为“start_point”。这相当于使用“-f”运行“git branch”;有关详细信息,请参见git branch(1)。

    如果您已经有了本地的相应分支,当然您不想再创建它。只能使用

    git checkout nw-ob210refactor
    

    git pull
    

    如果我在一些新制作的目录中尝试它

    在那里你得做一个新鲜的

    git clone https://your/repository
    

    首先下载存储库

    因此,我尝试在末尾添加一个2,但得到了以下错误:致命的:“origin/nw-ob210refactor2”不是提交,无法从中创建分支“nw-ob210refactor”

    如果您想要创建一个新的本地分支,您必须在 -b (=本地brnach名称)而不是您尝试下载的源(远程分支名称):

    git checkout -b checkout nw-ob210refactor2 origin/checkout nw-ob210refactor
    

    更新

    一旦你 Already up to date 继续执行步骤3

    在那里也可以

    git checkout -b develop origin/develop
    

    如果 develop 分支机构有 目前存在于当地。否则只能再次使用

    git checkout develop
    

    只切换到它。在这种情况下,确保再次运行

    GIT拉力
    

    现在您有了本地和最新的分支,可以合并了

    git merge --no-ff nw-ob210refactor
    

    这个合并 nw-ob210refactor 进入之内 发展 . 如果你需要的话,换个方向就换到目标分支。( checkout )交换姓名。

    --no-ff 读数 no fast forward 手段

    即使合并解析为快进,也要创建合并提交。这是合并未存储在refs/tags/hierarchy中其自然位置的带注释(可能还有签名)标记时的默认行为。

    或者简单地说,您希望创建一个具有消息的特殊提交 merge from branch nw-ob210refactor into develop 即使没有冲突,而且实际上可以合并分支,而不需要额外的提交。这对于更好地了解历史记录中合并的内容非常有用,并且在以后需要时更容易还原内容。


    合并后,将合并到的相应分支向后推。在这个例子中 发展 所以做

    git push origin develop 
    
        2
  •  1
  •   Ian MacDonald    6 年前

    你的 git fetch origin 是正确的。这将从名为 origin .现在,当您尝试签出时,可能已经有了一个同名的分支(它甚至可能与远程服务器上的分支处于同一提交状态)。

    只是为了确保,你应该 pull 在你转到分支机构之后。

    git checkout nw-ob210refactor
    git pull
    

    然后继续执行步骤2。


    注释 您可以创建一个引用这个远程分支的第二个分支,但我不认为这是必要的。如果您对如何使“添加2”方案工作感到好奇,则必须将其添加到本地分支名称,而不是远程分支名称:

    git checkout -b nw-ob210refactor2 origin/nw-ob210refactor