查看远程分支
现在我们已经有一些和远程分支打交道的经验了,比如曾经使用了和。
怎么查看远程分支呢?
使用可以查看本地的分支,选项可以显示更多的信息,选项可以查看更详细的信息:
git告诉我们,我们现在在分支,它跟踪远程分支,并且比该远程分支前进了8个提交对象。
使用选项可以仅仅查看远程分支:
或者使用亦可:
那么究竟什是远程分支呢?远程分支当然不是本地的分支了。这个例子中的其实是一个远程跟踪分支,它跟踪的分支,其中就表示远程项目的地址,表示远程项目的分支。
所以说,远程跟踪分支其实是一个远程分支的索引,通过它可以连接到远程分支。它的操作都是git自动操作,用户无法直接的操纵它。
克隆远程分支
如果要直接从远程克隆一个分支到本地,使用命令:
其中的代表远程仓库的地址,比如想要克隆本文的项目地址,可以使用下面的命令:
它会做以下几件事:
新建一个项目目录并且在其中初始化git项目。
将远程git仓库拷贝到本地。
添加一个远程仓库索引。(是其默认名)
添加一个远程heads索引(是其默认名)。
将指向远程仓库相应heads。
添加一个本地仓库的heads索引(是其默认名)。将指向本地的提交对象,它指向与指向的远程提交对象相同的本地提交对象。
结果是我们有了一个本地的git仓库,它和远程仓库一致;有一个本地分支;以及一个索引指向远程分支。我们可以在分支上修改,不可被直接更改,它指向远程分支。
注意:虽然远程分支索引,例如,在一些命令中被表示指向本地对象,或者在一些图示中被表示为指向本地提交对象,但请注意它其实是一个指向远程分支的索引。
上例中,虽然指向提交,但它其实是指向远程分支的提交,而则确实是指向本地的提交。
推送到远程分支
查看一下分支状况:
我们本地的分支已经比远程分支提前了8个提交了,现在怎么推送到远程分支呢?
使用命令:
如果本地分支跟踪且仅仅跟踪一个分支,只用即可。
的用法是:
比如说要推送本地分支给远程的分支,可以使用下面的命令:
拉取与跟踪远程分支
现在远程分支有了一个更改,怎么样拉取到本地呢?使用命令:
上面的命令将中的更改拉取到本地,并且更新的指向;但是这个命令并不会新建一条本地分支,或者同已有的本地分支合并。
如果想要从已经拉取的远程分支中检出一条新分支以供自己工作,那么使用下面的命令:
这样远程分支就会检出为本地的可供修改的分支,并且指向与相同的本地提交对象;本地被设置为跟踪远程分支。执行相同的操作:
上面的命令会将远程分支检出为本地分支并设置跟踪。
在本例中我们想要将远程合并到分支,使用即可:
如果一条分支已经跟踪了远程分支,只用命令即可,它会抓取远程仓库并且执行合并操作。
删除远程分支
如果想要删除一条远程分支,使用下面的命令:
这会删除远程分支(服务器上的远程分支,而不是远程分支索引)。
领取专属 10元无门槛券
私享最新 技术干货