git 远程分支

查看远程分支

现在我们已经有一些和远程分支打交道的经验了,比如曾经使用了和。

怎么查看远程分支呢?

使用可以查看本地的分支,选项可以显示更多的信息,选项可以查看更详细的信息:

git告诉我们,我们现在在分支,它跟踪远程分支,并且比该远程分支前进了8个提交对象。

使用选项可以仅仅查看远程分支:

或者使用亦可:

那么究竟什是远程分支呢?远程分支当然不是本地的分支了。这个例子中的其实是一个远程跟踪分支,它跟踪的分支,其中就表示远程项目的地址,表示远程项目的分支。

所以说,远程跟踪分支其实是一个远程分支的索引,通过它可以连接到远程分支。它的操作都是git自动操作,用户无法直接的操纵它。

克隆远程分支

如果要直接从远程克隆一个分支到本地,使用命令:

其中的代表远程仓库的地址,比如想要克隆本文的项目地址,可以使用下面的命令:

它会做以下几件事:

新建一个项目目录并且在其中初始化git项目。

将远程git仓库拷贝到本地。

添加一个远程仓库索引。(是其默认名)

添加一个远程heads索引(是其默认名)。

将指向远程仓库相应heads。

添加一个本地仓库的heads索引(是其默认名)。将指向本地的提交对象,它指向与指向的远程提交对象相同的本地提交对象。

结果是我们有了一个本地的git仓库,它和远程仓库一致;有一个本地分支;以及一个索引指向远程分支。我们可以在分支上修改,不可被直接更改,它指向远程分支。

注意:虽然远程分支索引,例如,在一些命令中被表示指向本地对象,或者在一些图示中被表示为指向本地提交对象,但请注意它其实是一个指向远程分支的索引。

上例中,虽然指向提交,但它其实是指向远程分支的提交,而则确实是指向本地的提交。

推送到远程分支

查看一下分支状况:

我们本地的分支已经比远程分支提前了8个提交了,现在怎么推送到远程分支呢?

使用命令:

如果本地分支跟踪且仅仅跟踪一个分支,只用即可。

的用法是:

比如说要推送本地分支给远程的分支,可以使用下面的命令:

拉取与跟踪远程分支

现在远程分支有了一个更改,怎么样拉取到本地呢?使用命令:

上面的命令将中的更改拉取到本地,并且更新的指向;但是这个命令并不会新建一条本地分支,或者同已有的本地分支合并。

如果想要从已经拉取的远程分支中检出一条新分支以供自己工作,那么使用下面的命令:

这样远程分支就会检出为本地的可供修改的分支,并且指向与相同的本地提交对象;本地被设置为跟踪远程分支。执行相同的操作:

上面的命令会将远程分支检出为本地分支并设置跟踪。

在本例中我们想要将远程合并到分支,使用即可:

如果一条分支已经跟踪了远程分支,只用命令即可,它会抓取远程仓库并且执行合并操作。

删除远程分支

如果想要删除一条远程分支,使用下面的命令:

这会删除远程分支(服务器上的远程分支,而不是远程分支索引)。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180111G0V4DN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券