【问题标题】:Pushing new Git branches and subsequently merging them on the origin推送新的 Git 分支并随后将它们合并到原点
【发布时间】:2015-12-22 11:23:46
【问题描述】:

我对 Git 比较陌生,正在尝试建立特定的工作流程/程序,但不太确定如何实施。 FWIW 我正在使用 Gitlab,尽管我认为这并不重要。

目前一个repo只有master/mainline,没有其他分支。

我想:

  1. 在本地克隆此项目
  2. 在本地创建一个新分支
  3. 提交该分支并将其远程推送到 Gitlab 服务器(但不将其与主服务器合并)
  4. 稍后,发起合并请求,将远程分支与远程 master 合并

显然,对于#1,我们有git clone http://path-to-my-gitlab-repo。对于#2(在本地创建分支)我相信我想要git branch mybranchname。但是我不知道如何将分支实际推送到远程 Gitlab 服务器(因为它根本不存在),也不知道如何 - 在以后的某个时间 - 启动合并请求。

有什么想法吗?

【问题讨论】:

    标签: git merge branch gitlab


    【解决方案1】:

    第 1 步:

    在本地克隆这个项目

    确保您想要使用 http 协议来执行您正在执行的操作。根据您团队的安全策略,您可能希望使用 SSH。 GitLab UI 具有用于在两者之间切换的按钮,因此您可以复制粘贴克隆语句。

    第 2 步:

    在本地创建一个新分支

    您可以使用 checkout 命令创建并切换到新的本地分支:

    git checkout -b mybranchname
    

    这与(使用您喜欢的任何一个)相同:

    git branch mybranchname
    git checkout mybranchname
    

    第 3 步:

    提交该分支并将其远程推送到 Gitlab 服务器(但不是 将其与 master 合并)

    您可以使用此命令推送到服务器:

    git push origin mybranchname
    

    第 4 步:

    稍后,发起合并请求以合并远程分支 与远程主人

    推送远程分支后,您可以通过 GitLab UI 发起合并请求。

    找到您创建的新远程分支并寻找绿色的“创建合并请求”按钮。

    this video 的后半部分有一个非常好的创建和管理合并请求的简短教程。

    【讨论】:

      【解决方案2】:

      将本地分支推送到远程仓库

      您可以将本地分支推送到名为 origin 的远程存储库,方法是:

      git checkout <branchname>
      git push origin <branchname>
      

      如果&lt;branchname&gt; 在远程存储库中不存在,它将作为push 操作的一部分创建。

      由于您可能会从该分支推送新的提交,因此最好通过添加--set-upstream(或-u)选项在本地分支和remote tracking branch 之间建立关系:

      git push --set-upstream origin <branchname>
      

      接下来,这将允许您将新提交推送到远程分支,只需说:

      git push 
      

      使用 GitLab 创建合并请求

      您可以使用 GitLab Web UI 创建 合并请求,如 the documentation 中所述。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-11
        • 1970-01-01
        • 2016-04-23
        • 2022-11-16
        相关资源
        最近更新 更多