美文网首页
git跟踪远程分支,查看本地分支追踪和远程分支的关系

git跟踪远程分支,查看本地分支追踪和远程分支的关系

作者: 红糖红糖 | 来源:发表于2019-05-17 11:58 被阅读0次

    跟踪远程分支


    如果用git push指令时,当前分支没有跟踪远程分支(没有和远程分支建立联系),那么就会git就会报错

    There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    

    因为当前分支没有追踪远程指定的分支的话,当前分支指定的版本快照不知道要作为服务器哪一个分支的版本快照的子节点。简单来说就是:不知道要推送给哪一个分支。
    那么如何建立远程分支:

    1. 克隆时自动将创建好的master分支追踪origin/master分支
    git clone 服务器地址
    
    1. 在远程分支的基础上建立develop分支,并且让develop分支追踪origin/develop远程分支。
    git checkout -b develop origin/develop
    
    1. 将branch-name分支追踪远程分支origin/branch-name
    git branch --set-upstream branch-name origin/branch-name
    
    1. 设置当前分支跟踪远程分支origin/serverfix
    git branch -u origin/serverfix
    
    1. 查看本地分支和远程分支的跟踪关系
    git branch -vv
    

    比如输入

    $ git branch -vv
      develop   08775f9 [origin/develop] develop
      feature_1 b41865d [origin/feature_1] feature_1
    * master    1399706 [my_github/master] init commit
    

    develop分支跟踪origin/develop
    feature_1分支跟踪origin/feature_1
    master跟踪了my_github/master,且当前分支为master分支
    那么假如我此时想要将master的改变推送到origin服务器的master分支上:

    $ git checkout master//切换到master分支
    ...
    $ git branch -u origin/master//将当前分支跟踪origin/master
    Branch 'master' set up to track remote branch 'master' from 'origin'.
    

    之后就可以执行git add和git commit了
    现在再查看一下本地和远程的分支关系:

    $ git branch -vv
      develop   08775f9 [origin/develop] develop
      feature_1 b41865d [origin/feature_1] feature_1
    * master    1399706 [origin/master] init commit
    

    master已经跟踪了origin/master了

    相关文章

      网友评论

          本文标题:git跟踪远程分支,查看本地分支追踪和远程分支的关系

          本文链接:https://www.haomeiwen.com/subject/opvnaqtx.html