我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
当前回答
以下是你如何通过Egit在日食中做到这一点。
转到“Git Repository Exploring”视图,展开要创建分支的Git项目。在分支->本地..下。。选择要为其创建分支的分支(在我的例子中,我选择了master。如果您愿意,可以选择另一个分支)。。然后右键单击并单击“创建分支”选项。。并选择签出此项目选项,然后单击完成按钮。现在从项目浏览器中选择项目。。右键单击“团队”->“推送分支”。
将创建一个新的远程分支。你可以把分支的名称告诉你的同事,这样他们就可以把它取出来。
其他回答
首先,创建一个新的本地分支并签出:
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 push <remote-name> <local-branch-name>:<remote-branch-name>
足以推动本地分支。
您的同事可以使用以下命令拉动所有远程分支(包括新分支):
git remote update
然后,要对分支进行更改,通常的流程如下:
git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>
以下是你如何通过Egit在日食中做到这一点。
转到“Git Repository Exploring”视图,展开要创建分支的Git项目。在分支->本地..下。。选择要为其创建分支的分支(在我的例子中,我选择了master。如果您愿意,可以选择另一个分支)。。然后右键单击并单击“创建分支”选项。。并选择签出此项目选项,然后单击完成按钮。现在从项目浏览器中选择项目。。右键单击“团队”->“推送分支”。
将创建一个新的远程分支。你可以把分支的名称告诉你的同事,这样他们就可以把它取出来。
我只是想在以下时间添加:
git checkout -b {branchName}
创建一个新分支,它也会检出该分支/使其成为当前分支。如果出于某种原因,您只想捕捉一个分支,而不想将其作为当前分支,则可以使用以下命令:
git branch {branchName}
在第一个命令中,“checkout”使所述分支成为当前分支,“-b”表示:该分支还不存在,所以请为我创建。
如果你想创建远程分支而不需要本地分支,你可以这样做:
git push origin HEAD:refs/heads/foo
它将您的HEAD推送到远程上不存在的分支foo。