Git本地分支与远程分支的追踪关系

序言

测试环境:ubantu14、window10

读本文需要用到的操作基础

注:以下操作命令主要与分支有关。且认为本地master为当前分支,dev为要新建的分支。

从当前分支切换到‘dev’分支:
git checkout dev
建立并切换新分支:
git checkout -b 'dev'
查看当前详细分支信息(可看到当前分支与对应的远程追踪分支):
git branch -vv
查看当前远程仓库信息
git remote -vv
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Git本地分支与远程分支的追踪关系

我们可以通过git branch -vv查看分支与远程分支追踪状态,要修改追踪关系接下来会讲。 
一般我们Git提交都不会直接提交主分支master,先提交到dev分支,没问题,再会合并到master分支。接下来会讲。 
追踪关系主要就是说,我当前本地分支会对应一个远程分支,我的任何操作(eg. push、pull操作)都只会在这个关系上发生。如果我们想当前本地分支与远程的其他分支发生关系呢?接下来会讲。

Git push

git push origin [本地分支名]:[远程分支名]
  • 1

如果直接写git push,是push当前分支到当前分支的追踪关系分支。 
一般本地master分支,push到的是远程仓库的master分支。 
我们可以修改其分支的追踪关系。 
注:接下来操作中,是修改本地‘master’分支的追踪分支操作,原先对应远程分支是master,我们要修改为远程dev分支。 
步骤:

  • ① 进入当前项目根目录的’.git’文件夹(请自行设置显示隐藏文件)。打开config文件(注意不要用window记事本打开)。
  • ② [remote "origin"]这一项是修改对应远程Git仓库地址。
  • ③ [branch "master"]这一项是修改本地分支‘master’的远程追踪关系分支,直接修改merge = refs/heads/mastermerge = refs/heads/dev
  • ④ 再次通过命令行查看状态就可以发现你的远程分支已经改掉。
  • ⑤ 可能出现的问题补充: 
    • 没有[branch "master"]这一项怎么办? 
      如果是新项目,没有git pull或git clone,就不会与远程分支建立关系,或者也可以自己添加这一项,但不建议。

你可能感兴趣的:(Git)