本地&远程
跟本地版本库和远程版本库类似,分支也区分本地分支和远程分支两种。
本地分支:
本地版本库内的若干分支即称之为本地分支;
远程分支
远程版本库内的若干分支称之为远程分支;
甚至于我们可以将本地不同版本库内的分支设置为当前版本库内分支的远程分支;
本篇负责综述整理分支的交互;
分支的交互
示意图
关联关系
本地分支和远程分支之间的对应关系是一对一;
这里所谓的”一对一“是指绑定默认关联关系;
也就是说我们在为某个本地分支指定远程分支之后,后续分支的提交(push)和获取(fetch/pull)都是默认指向指定的远程分支;
但是这并不代表当前分支不可以跟其他远程分支做交互:可以在进行交互时额外的指定远程分支来实现交互;
总结来说:
1、本地分支的远程分支默认关联同时只有一条;但是可以修改;
2、本地分支可以随时向当前版本库已关联的远程库中所有的远程分支进行交互;
默认推送
在当前分支有默认关联的远程分支时,执行默认推送
git push
即将当前本地分支推送至关联的远程分支;
指定远程分支推送
在不切换当前本地分支对应的远程分支关联时,执行指定推送
git push remoteRepository localBranch:remoteBranch
可以指定推送至远程库remoteRepository的远程分支remoteBranch上;
注:加上“-u”参数后会自动在推送后将本地分支的远程分支关联为当前推送目标远程分支;
默认获取
在当前分支有默认关联的远程分支时,执行默认获取
git pull
即从默认关联的远程分支获取到本地分支上;
指定远程分支获取
在不切换当前本地分支对应的远程分支关联时,执行指定获取
git pull remoteRepository remoteBranch:localBranch
即从远程库remoteRepository的远程分支上获取内容至本地分支localBranch;
案例
初始状态
本地库有本地分支master;
有三个远程库:origin_1、origin_2、origin_3;
本地分支master对应远程库origin_1中远程分支master;
创建测试分支
to be continue~