我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
当前回答
对于Git 1.8.0及更高版本:
实际上,对于公认的工作答案:
git remote add upstream <remote-url>
git fetch upstream
git branch -f --track qa upstream/qa
# OR Git version 1.8.0 and higher:
git branch --set-upstream-to=upstream/qa
# Gitversions lower than 1.8.0
git branch --set-upstream qa upstream/qa
其他回答
确保您运行:
git config push.default tracking
能够顺利推进
为了创建新分支,我们可以使用以下命令git checkout--track-b示例原点/example对于已创建的分支,要在远程分支之间创建链接,请使用以下命令
gitbranch-u源/远程分支名称
对于像我这样只想将本地分支名称与远程分支名称同步的任何人,这里有一个方便的命令:
git branch -u origin/$(git rev-parse --abbrev-ref HEAD)
编辑.git/config可能是最简单、最快的方法。无论如何,这就是处理远程分支的Git命令所做的。
如果你不想手动处理这个文件(这并不难),你可以一直使用git-config来完成……但同样,这只会编辑.git/config文件。
当然,在使用git签出时,有一些方法可以自动跟踪远程分支(例如,通过传递--track标志),但这些命令可以处理新的分支,而不是现有的分支。
或简单地通过:
如果您还不在分支中,请切换到分支:
[za]$ git checkout branch_name
run
[za]$ git branch --set-upstream origin branch_name
Branch origin set up to track local branch brnach_name by rebasing.
您准备好:
[za]$ git push origin branch_name
您可以查看配置文件,看看是什么通过运行以下命令来跟踪什么:
[za]$ git config -e
很高兴知道这一点,它显示了哪些分支被跟踪,哪些分支没有被跟踪。:
[za]$ git remote show origin