我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
当前回答
我使用以下命令(假设您的本地分支名称是“branch-namelocal”,而远程分支名称为“branchnameremote”):
$ git branch --set-upstream-to=origin/branch-name-remote branch-name-local
如果本地和远程分支具有相同的名称,则只需执行以下操作:
$ git branch --set-upstream-to=origin/branch-name branch-name
其他回答
或简单地通过:
如果您还不在分支中,请切换到分支:
[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
对于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 pull(1)详细信息。.....
可以使用以下脚本,该脚本将原点设置为当前分支的上游。
在我的例子中,我几乎从未将原点以外的其他东西设置为默认上游。此外,我几乎总是为本地和远程分支保留相同的分支名称。因此,以下内容适合我:
#!/bin/bash
# scriptname: git-branch-set-originupstream
current_branch="$(git branch | grep -oP '(?<=^\* )(.*)$')"
upstream="origin/$current_branch"
git branch -u "$upstream"
1-使用:git fetch--all更新本地元数据
2-使用gitbranch-a显示远程和本地分支,请参见以下屏幕截图
3-切换到要与远程链接的目标分支:使用
git签出分支名称
例子:
4-使用以下方法将本地分支链接到远程分支:
gitbranch—设置nameOfRemoteBranch的上游
N.B:nameOfRemoteBranch:从步骤2“gitbranch-r”的输出中复制
使用示例:
使用“--track”选项
在一次git拉动后:git checkout--track<远程分支名称>或:git获取和git签出<分支名称>