git远程分支关系、命令
注:以下操作命令主要与分支有关。且认为本地master为当前分支,dev为要新建的分支。
从当前分支切换到‘dev’分支:
git checkout dev
建立并切换新分支:
git checkout -b 'dev'
查看当前详细分支信息(可看到当前分支与对应的远程追踪分支):
git branch -vv
查看当前远程仓库信息
git remote -vv
要修改追踪关系
一般我们Git提交都不会直接提交主分支master,先提交到dev分支,没问题,再会合并到master分支。
追踪关系主要就是说,我当前本地分支会对应一个远程分支,我的任何操作(eg. push、pull操作)都只会在这个关系上发生。如果我们想当前本地分支与远程的其他分支发生关系呢?接下来会讲。
Git push
git push origin [本地分支名]:[远程分支名]
如果直接写git push,是push当前分支到当前分支的追踪关系分支。
一般本地master分支,push到的是远程仓库的master分支。
我们可以修改其分支的追踪关系。
注:接下来操作中,是修改本地‘master’分支的追踪分支操作,原先对应远程分支是master,我们要修改为远程dev分支。
步骤:
① 进入当前项目根目录的’.git’文件夹(请自行设置显示隐藏文件)。打开config文件(注意不要用window记事本打开)。
② [remote "origin"]这一项是修改对应远程Git仓库地址。
③ [branch "master"]这一项是修改本地分支‘master’的远程追踪关系分支,直接修改merge = refs/heads/master为merge = refs/heads/dev
④ 再次通过命令行查看状态就可以发现你的远程分支已经改掉。
⑤ 可能出现的问题补充:
没有[branch "master"]这一项怎么办?
如果是新项目,没有git pull或git clone,就不会与远程分支建立关系,或者也可以自己添加这一项,但不建议。
git命令大全