你如何创建一个远程Git分支?

我创建了一个本地分支,我想“推”上游。 关于如何跟踪新创建的远程分支,Stack Overflow存在类似的问题。

但是,我的工作流程略有不同。 首先,我想创建一个本地分支,当我满意并且想分享我的分支时,我只会将其推向上游。

  • 我会怎么做? (我的谷歌搜索似乎没有拿出任何东西)。
  • 我该如何告诉我的同事将其从上游存储库中提取出来?
  • 更新与Git 2.0有一个更简单的答案我写下面:https://stackoverflow.com/a/27185855/109305


    首先,你在本地创建你的分支:

    git checkout -b <branch-name> # Create a new branch and check it out
    

    远程分支在您将其推送到远程服务器时自动创建。 所以,当你准备好了,你可以做到:

    git push <remote-name> <branch-name> 
    

    其中<remote-name>通常是origin ,git给您从远程克隆的名称。 然后你的同事就会拉动那个分支,并且它会自动在本地创建。

    然而请注意,格式是:

    git push <remote-name> <local-branch-name>:<remote-branch-name>
    

    但是当你忽略一个,它假定两个分支名称是相同的。 尽管如此,作为一个谨慎的词,不要仅仅指定:<remote-branch-name> (带冒号),否则远程分支将被删除!

    因此,随后的git pull会知道该怎么做,您可以改为使用:

    git push --set-upstream <remote-name> <local-branch-name> 
    

    如下所述, --set-upstream set --set-upstream选项设置上游分支:

    对于最新或成功推送的每个分支,添加无参数git-pull(1)和其他命令使用的上游(跟踪)引用。


    首先,你必须在本地创建你的分支

    git checkout -b your_branch
    

    之后,您可以在分支机构中进行本地工作,当您准备好分享分支机构时,可以按下它。 下一个命令将分支推送到远程存储库原点并进行跟踪

    git push -u origin your_branch
    

    队友可以通过以下方式联系你的分支:

    git fetch
    git checkout origin/your_branch
    

    您可以继续在分支中工作,并随时按下,而无需将参数传递给git push(无争论的git push会将主控推向远程主控,your_branch本地控制远程your_branch,等等......)

    git push
    

    队友可以通过进行提交并直接推送到分支

    ... work ...
    git commit
    ... work ...
    git commit
    git push origin HEAD:refs/heads/your_branch
    

    或者跟踪分支,以避免参数git push

    git checkout --track -b your_branch origin/your_branch
    ... work ...
    git commit
    ... work ...
    git commit
    git push
    

    简单的Git 2.0+解决方案:

    Git 2.0开始,行为变得更加简单

    你可以使用push.default = current来配置git以push.default = current生活:

    我加了这个,所以现在我可以用一个新的分支向上游推

    $ git push -u
    

    -u将跟踪同名远程分支。 否,使用此配置,您将自动猜测对git push的远程引用。 从git.config文档:

    push.default

    定义如果没有明确给出refspec,git push应该采取的行动。

    push.default = current - 推送当前分支以更新接收端具有相同名称的分支。 适用于中央和非中央工作流程。

    对我而言,这是对我日常的Git工作流程的一个很好的简化。 配置设置将在本地添加分支并希望远程创建分支时使用“常规”用例。 此外,我可以通过仅执行git co remote_branch_name (而不是使用--set-upstream-to标志)轻松地从远程创建本地分支。

    我知道这个问题,接受的答案是相当古老的,但行为已经改变,所以现在配置选项的存在使您的工作流程更简单。

    要添加到您的全局Git配置,请在命令行上运行以下命令:

    $ git config --global push.default current
    
    链接地址: http://www.djcxy.com/p/77.html

    上一篇: How do you create a remote Git branch?

    下一篇: Make an existing Git branch track a remote branch?