我创建了一个本地分支。如何将其推送到远程服务器?

更新:我在这里为Git2.0写了一个更简单的答案。


当前回答

如何通过源树进行操作

 1: Open SourceTree, click on Repository -> Checkout
 2: Click on Create New Branch
 3: Select the branch where you want to get code for new branch 
 4: Give your branch name
 5: Push the branch  (by click on Push-button)

其他回答

这里有一个例子,我只有两个分支首先是本地的:起源和移动测试。

直到我在命令行中使用它来实际显示远程分支中更新的文件时,我才开始工作。

git push --set-upstream origin mobile-test

基于当前分支在本地创建新分支:

git checkout -b newbranch

按正常方式提交任何更改。然后,将其向上推:

git push -u origin HEAD

这是一个快捷方式,可以将当前分支推送到原点上同名的分支并跟踪它,这样以后就不需要指定原点HEAD了。

简单的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

我知道这个问题得到了很好的回答,但我只想列出创建一个新分支“myNewBranch”并推送到远程(在我的情况下是“源”)并设置跟踪所采取的步骤。将其视为“TL;DR”版本:)

# create new branch and checkout that branch
git checkout -b myNewBranch
# now push branch to remote 
git push origin myNewBranch
# set up the new branch to track remote branch from origin
git branch --set-upstream-to=origin/myNewBranch myNewBranch

如果已使用--single branch克隆当前分支,请使用此命令从当前分支创建新分支:

git checkout -b <new-branch-name>
git push -u origin <new-branch-name>
git remote set-branches origin --add <new-branch-name>
git fetch