我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
当前回答
简单的Git 2.0+解决方案:
从Git2.0开始,行为变得更加简单:
您可以使用push.default=current配置git,以使生活更轻松:
我添加了这个,所以现在我可以用
$ git push -u
-您将跟踪同名的远程分支。现在使用此配置,您将自动猜测gitpush的远程引用。从git.config文档中:
推送故障定义如果没有明确给定refspec,git push应该采取的操作。push.default=current-推送当前分支以使用接收端的名称相同。可在中央和非中央工作流中工作。
对我来说,这是我日常Git工作流程的一个很好的简化。配置设置负责在本地添加分支并希望远程创建分支的“通常”用例。此外,我也可以通过执行git-co-remote_branch_name(而不是使用--set upstream-to-flag),从远程创建本地分支。
我知道这个问题和公认的答案都很陈旧,但行为已经改变,现在有了配置选项,可以简化您的工作流程。
要添加到全局Git配置,请在命令行上运行以下命令:
$ git config --global push.default current
其他回答
我用这个,它很方便:
git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'
用法:git mkdir NEW_BRANCH
你甚至不需要git状态;也许,我只是想确保一切顺利。。。
您可以通过一个命令同时拥有LOCAL和REMOTE分支。
如果新创建的分支不是从同一个repo派生的,即如果您没有使用gitcheckout-b newbranch创建新分支,则gitpush-u<remotename><branch name>不起作用。
例如,我在本地克隆了两个不同的存储库,我必须将repo2/branch1复制到repo1/,然后再将其推送。
此链接帮助我将本地分支(从另一个回购中克隆)推送到远程回购:
这里有一个例子,我只有两个分支首先是本地的:起源和移动测试。
直到我在命令行中使用它来实际显示远程分支中更新的文件时,我才开始工作。
git push --set-upstream origin mobile-test
我只是想在以下时间添加:
git checkout -b {branchName}
创建一个新分支,它也会检出该分支/使其成为当前分支。如果出于某种原因,您只想捕捉一个分支,而不想将其作为当前分支,则可以使用以下命令:
git branch {branchName}
在第一个命令中,“checkout”使所述分支成为当前分支,“-b”表示:该分支还不存在,所以请为我创建。
首先在本地创建分支:
git checkout -b your_branch
然后远程创建分支:
git push --set-upstream origin your_branch
注意:这适用于git的最新版本:
$ git --version
git version 2.3.0
干杯