如何创建一个远程 Git 分支?

我创建了一个本地分支,我想把它推到上游去。Stack Overflow上也有一个类似的问题,就是如何跟踪一个新创建的远程分支。

然而,我的工作流程略有不同。**首先,我想创建一个本地分支,只有当我满意并想分享我的分支时,我才会向上游推送它。

  • 我如何做到这一点呢?(我的谷歌搜索似乎没有发现什么)。
  • 我如何告诉我的同事从上游仓库拉取它?

随着Git 2.0的更新,有一个更简单的答案我写在下面:https://stackoverflow.com/a/27185855/109305

首先,你在本地创建你的分支。

git checkout -b  # Create a new branch and check it out

当你把它推送到远程服务器时,远程分支会自动创建。因此,当你觉得准备好了,你可以直接做。

git push   

其中`通常是origin`,即git给你克隆的远程的名称。然后你的同事就会拉出这个分支,它就会自动在本地创建。

不过要注意的是,正式的格式是。

git push  :

但当你省略其中一个时,它就会假定两个分支的名字是一样的。说到这里,作为一个**的警告,不要犯一个关键的错误,即只指定":"(带冒号),否则远程分支将被删除。

为了让后续的 "git pull "知道该怎么做,你可能想使用。

git push --set-upstream   

如下所述,--set-upstream选项设置了一个上游分支。

对于每一个最新的分支或 成功推送,都会添加上游 (跟踪)参考,由 无参数的git-pull(1)和其他 命令使用。

评论(29)

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

git checkout -b your_branch

之后,你就可以在本地工作,当你准备好分享该分支时,就推送它。下一条命令是将该分支推送到远程版本库的原点,并跟踪它

git push -u origin your_branch

队友可以到达你的分支,方法是:。

git fetch
git checkout origin/your_branch

你可以继续在该分支中工作,并随时推送,而无需向 git push 传递参数(无参数的 git push 会将 master 推送到远程 master,将 your_branch 本地推送到远程 your_branch,等等...)

git push

队友们可以通过提交来推送到你的分支,然后明确推送

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

或者跟踪该分支以避免对git推送的争论

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push
评论(0)

正如前面的答案中所说。

git push  :

就足以推送一个本地分支。

你的同事,可以用这个命令拉出所有远程分支(包括新分支)。

git remote update

然后,要对该分支进行修改,通常的流程是。

git checkout -b  /
评论(0)