你如何创建一个远程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