我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
当前回答
对于1.6.x,可以使用git_remote_branch工具完成:
grb track foo upstream
这将导致Git使foo跟踪上游/foo。
其他回答
简而言之
git branch --set-upstream yourLocalBranchName origin/develop
这将使您的LocalBranchName跟踪名为develop的远程分支。
对于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版本2.25.1,请使用以下命令:
git push --set-upstream origin <local_branch_name>
确保您运行:
git config push.default tracking
能够顺利推进
为了避免记住每次收到信息时需要做什么:
请指定要合并的分支。参见git pull(1)详细信息。.....
可以使用以下脚本,该脚本将原点设置为当前分支的上游。
在我的例子中,我几乎从未将原点以外的其他东西设置为默认上游。此外,我几乎总是为本地和远程分支保留相同的分支名称。因此,以下内容适合我:
#!/bin/bash
# scriptname: git-branch-set-originupstream
current_branch="$(git branch | grep -oP '(?<=^\* )(.*)$')"
upstream="origin/$current_branch"
git branch -u "$upstream"