我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
我创建了一个本地分支。如何将其推送到远程服务器?
更新:我在这里为Git2.0写了一个更简单的答案。
当前回答
如果你想创建远程分支而不需要本地分支,你可以这样做:
git push origin HEAD:refs/heads/foo
它将您的HEAD推送到远程上不存在的分支foo。
其他回答
如前面的回答中所述,
git push <remote-name> <local-branch-name>:<remote-branch-name>
足以推动本地分支。
您的同事可以使用以下命令拉动所有远程分支(包括新分支):
git remote update
然后,要对分支进行更改,通常的流程如下:
git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>
我知道这个问题得到了很好的回答,但我只想列出创建一个新分支“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 newbranch
按正常方式提交任何更改。然后,将其向上推:
git push -u origin HEAD
这是一个快捷方式,可以将当前分支推送到原点上同名的分支并跟踪它,这样以后就不需要指定原点HEAD了。
首先,必须在本地创建分支
git checkout -b your_branch
之后,您可以在分支中本地工作,当您准备好共享该分支时,将其推送
git push -u origin your_branch
队友可以通过以下方式到达你的分支:
git fetch
git checkout origin/your_branch
您可以继续在分支中工作,并随时进行推送,而无需将参数传递给gitpush(无参数gitpush会将主节点推送到远程主节点,将您的本地分支推送到远程您的分支,等等)
git push
团队成员可以通过执行提交推送到您的分支,然后显式推送
... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch
或者跟踪分支以避免gitpush的参数
git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push
我使用了两种方法来创建分支
如果您正在使用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