我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
当前回答
首先,创建一个新的本地分支并签出:
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 checkout -b newbranch
按正常方式提交任何更改。然后,将其向上推:
git push -u origin HEAD
这是一个快捷方式,可以将当前分支推送到原点上同名的分支并跟踪它,这样以后就不需要指定原点HEAD了。
以下是你如何通过Egit在日食中做到这一点。
转到“Git Repository Exploring”视图,展开要创建分支的Git项目。在分支->本地..下。。选择要为其创建分支的分支(在我的例子中,我选择了master。如果您愿意,可以选择另一个分支)。。然后右键单击并单击“创建分支”选项。。并选择签出此项目选项,然后单击完成按钮。现在从项目浏览器中选择项目。。右键单击“团队”->“推送分支”。
将创建一个新的远程分支。你可以把分支的名称告诉你的同事,这样他们就可以把它取出来。
我使用了两种方法来创建分支
如果您正在使用TortoiseGit,请执行以下步骤:-
1.使用TortoiseGit创建分支
右键单击您的项目>>TortoiseGit>>创建分支>>编写分支的名称并选择基本分支,然后按ok
2.推动分支
右键单击项目>>TortoiseGit>>推送>>单击确定
3.切换到新分支
右键单击您的项目>>TortoiseGit>>切换/签出>>选择新创建的分支并按ok
如果使用命令提示符,请执行以下步骤:-
1.使用命令提示符创建分支
$git签出-b new_branch_name
2.推动分支
$git推送原点new_branch_name
3.切换到新分支它已经切换为new_branch_name,否则您可以使用
$git签出new_branch_name
如果新创建的分支不是从同一个repo派生的,即如果您没有使用gitcheckout-b newbranch创建新分支,则gitpush-u<remotename><branch name>不起作用。
例如,我在本地克隆了两个不同的存储库,我必须将repo2/branch1复制到repo1/,然后再将其推送。
此链接帮助我将本地分支(从另一个回购中克隆)推送到远程回购:
我用这个,它很方便:
git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'
用法:git mkdir NEW_BRANCH
你甚至不需要git状态;也许,我只是想确保一切顺利。。。
您可以通过一个命令同时拥有LOCAL和REMOTE分支。