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

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


当前回答

[快速回答]

您可以分两步完成:

1.使用签出创建本地分支:

git checkout -b yourBranchName

2.使用push命令自动创建分支并将代码发送到远程存储库:

git push -u origin yourBranchName

有多种方法可以做到这一点,但我认为这种方法非常简单。

其他回答

首先,必须在本地创建分支

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

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

$ 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 config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'

用法:git mkdir NEW_BRANCH

你甚至不需要git状态;也许,我只是想确保一切顺利。。。

您可以通过一个命令同时拥有LOCAL和REMOTE分支。

如果新创建的分支不是从同一个repo派生的,即如果您没有使用gitcheckout-b newbranch创建新分支,则gitpush-u<remotename><branch name>不起作用。

例如,我在本地克隆了两个不同的存储库,我必须将repo2/branch1复制到repo1/,然后再将其推送。

此链接帮助我将本地分支(从另一个回购中克隆)推送到远程回购:

最简单的解决方案。。。鼓卷。。。git版本2.10.1(Apple git-78)

1) git checkout -b localBranchNameThatDoesNotExistInRemote

2) Do your changes, and do a git commit 

3) git push origin localBranchNameThatDoesNotExistInRemote --force

注意:您刚刚在本地环境中创建的分支和您尝试推送的远程非现有分支必须具有相同的名称。