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

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


当前回答

以下是你如何通过Egit在日食中做到这一点。

转到“Git Repository Exploring”视图,展开要创建分支的Git项目。在分支->本地..下。。选择要为其创建分支的分支(在我的例子中,我选择了master。如果您愿意,可以选择另一个分支)。。然后右键单击并单击“创建分支”选项。。并选择签出此项目选项,然后单击完成按钮。现在从项目浏览器中选择项目。。右键单击“团队”->“推送分支”。

将创建一个新的远程分支。你可以把分支的名称告诉你的同事,这样他们就可以把它取出来。

其他回答

在本地计算机上创建分支并在此分支中切换:

$ git checkout -b [name_of_your_new_branch]

推动github上的分支:

$ git push origin [name_of_your_new_branch]

当你想在你的分支中提交一些事情时,一定要在你的分行中。

您可以看到使用以下方法创建的所有分支:

$ git branch

将显示:

* approval_messages
  master
  master_clean

为分支添加新的远程:

$ git remote add [name_of_your_remote] 

将提交中的更改推送到分支中:

$ git push origin [name_of_your_remote]

更新官方存储库中的原始分支后,更新分支:

$ git fetch [name_of_your_remote]

然后,您需要申请合并更改,如果您的分支是从开发派生的,则需要执行以下操作:

$ git merge [name_of_your_remote]/develop

删除本地文件系统上的分支:

$ git branch -d [name_of_your_new_branch]

要强制删除文件系统上的本地分支,请执行以下操作:

$ git branch -D [name_of_your_new_branch]

删除github上的分支:

$ git push origin :[name_of_your_new_branch]

此处显示所有信息

其他现有项目

首先,创建一个新的本地分支并签出:

git checkout -b <branch-name>

当您将远程分支推送到远程服务器时,将自动创建远程分支:

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选项设置上游分支:

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

现在使用git,当您在正确的分支中时,您只需键入

git push—设置上游起点<远程分支名称>

git为您创建原始分支。

我知道这个问题得到了很好的回答,但我只想列出创建一个新分支“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

从现有分支创建本地分支(可以是主分支/开发分支/任何其他分支)。

git checkout-b分支名称

将此推送到远程

git push-u remote_name local_branch_name:remote_branch-name

在这里

-u:设置上游分支remote_name:git在创建存储库时默认将名称设置为“origin”。但是,可以将其更改为其他任意名称。local_branch_name:是要推送的本地分支的名称。remotebranch_name:是要在远程上创建的远程分支的名称。

如果我们删除本地和远程分支名称,它将具有以下格式

git push-u remote_name分支名称

这将将本地分支推送到远程,并使用与本地分支branch_name相同的名称。本地分支也将跟踪远程分支。