我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
当前回答
确保您运行:
git config push.default tracking
能够顺利推进
其他回答
简而言之
git branch --set-upstream yourLocalBranchName origin/develop
这将使您的LocalBranchName跟踪名为develop的远程分支。
我相信,早在Git1.5.x中,您就可以让本地分支$branch跟踪远程分支源/$BRANCCH,就像这样。
鉴于$BRANCH和origin/$BRANCCH存在,并且您当前尚未签出$BRANCH(如果有,请切换),请执行以下操作:
git branch -f --track $BRANCH origin/$BRANCH
这将重新创建$BRANCH作为跟踪分支。尽管$BRANCH已经存在,但-f强制创建--如果使用了通常的默认值(即git-config参数branch.atosetupmerge为true),则跟踪是可选的。
注意,如果origin/$BRANCH还不存在,您可以通过将本地$BRANCCH推入远程存储库来创建它,方法是:
git push origin $BRANCH
然后是上一个命令,将本地分支提升为跟踪分支。
或简单地通过:
如果您还不在分支中,请切换到分支:
[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
1-使用:git fetch--all更新本地元数据
2-使用gitbranch-a显示远程和本地分支,请参见以下屏幕截图
3-切换到要与远程链接的目标分支:使用
git签出分支名称
例子:
4-使用以下方法将本地分支链接到远程分支:
gitbranch—设置nameOfRemoteBranch的上游
N.B:nameOfRemoteBranch:从步骤2“gitbranch-r”的输出中复制
使用示例:
以某种相关的方式,我试图将远程跟踪分支添加到现有分支,但无法访问系统上的远程存储库,我想在其中添加远程跟踪分支(因为我经常通过sneakernet将此回购的副本导出到另一个有权推送到该远程的系统)。我发现没有办法强制在本地上添加尚未提取的远程分支(因此本地不知道该分支在远程上存在,我会得到错误:请求的上游分支“origin/remotebranchname”不存在)。
最后,我通过在.git/refs/remotes/origin/remothbranchname处添加一个新的头文件,然后将ref(眼球移动最快,虽然很蹩脚;-)从有权访问原始存储库的系统复制到工作站(使用我添加远程分支的本地存储库),成功地添加了以前未知的新远程分支(无需获取)。
完成后,我可以使用gitbranch--setupstreamto=origin/remotebranchname