我创建了一个本地分支,我想把它推到上游去。Stack Overflow上也有一个类似的问题,就是如何跟踪一个新创建的远程分支。
然而,我的工作流程略有不同。**首先,我想创建一个本地分支,只有当我满意并想分享我的分支时,我才会向上游推送它。
随着Git 2.0的更新,有一个更简单的答案我写在下面:https://stackoverflow.com/a/27185855/109305
首先,你在本地创建你的分支。
git checkout -b <branch-name> # Create a new branch and check it out
当你把它推送到远程服务器时,远程分支会自动创建。因此,当你觉得准备好了,你可以直接做。
git push <remote-name> <branch-name>
其中<remote-name>
通常是origin
,即git给你克隆的远程的名称。然后你的同事就会拉出这个分支,它就会自动在本地创建。
不过要注意的是,正式的格式是。
git push <remote-name> <local-branch-name>:<remote-branch-name>
但当你省略其中一个时,它就会假定两个分支的名字是一样的。说到这里,作为一个**的警告,不要犯一个关键的错误,即只指定":
为了让后续的 "git pull "知道该怎么做,你可能想使用。
git push --set-upstream <remote-name> <local-branch-name>
如下所述,--set-upstream
选项设置了一个上游分支。
对于每一个最新的分支或 成功推送,都会添加上游 (跟踪)参考,由 无参数的git-pull(1)和其他 命令使用。
首先,你必须在本地创建你的分支
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
正如前面的答案中所说。
git push <remote-name> <local-branch-name>:<remote-branch-name>
就足以推送一个本地分支。
你的同事,可以用这个命令拉出所有远程分支(包括新分支)。
git remote update
然后,要对该分支进行修改,通常的流程是。
git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>