Git由浅入深之远端主机(git remote)

Git由浅入深之远端主机(git remote)

我们知道无论是分布式版本控制系统还是集中式版本控制系统,如果要实现多人协作,都需要一个远程服务器,具体针对某一项目来说,就是一个远程仓库。
无论使用什么版本控制工具,对于每一个成员而言,无外乎就是共享数据(push or pull),而这些协作都需要通过一个处于远端主机上的远端仓库完成。本篇主要介绍Git如何与远端主机进行操作,主要包括:添加和移除远端主机,添加远程仓库,管理远程分支等。

添加远端主机(git remote add / git clone)

我们首先要了解如何显示地添加一个远端主机,在Git中有两种方式添加远端主机:可以分为显式或隐式。
在未添加远端主机之前,查看主机信息为空:

查看远端主机信息

隐式添加(git clone)

隐式添加远端主机的方式就是使用git clone <远端地址>指令,在克隆远端仓库的同时,
会自动添加该远端主机到当前目录,并且默认主机名为origin:

隐式添加远端主机

查看信息:

查看远端主机信息

显示添加(git remote add)

很多时候我们也需要显示添加远端主机,这需要使用git remote add <主机别名> <远端地址>指令显式添加一个远端主机:

显式添加远端主机

指令中,主机别名参数为自定义指定,远端地址即远端服务器上的访问地址。

再查看其主机信息,则会有如下显示:

查看远端主机信息

另一点我们需要清楚的是,可以为某一目录指定任意数量远端主机。

查看远端主机信息(git remote)

我们可以使用git remote指令查看当前仓库指定的所有远端主机的简要信息:别名列表,
当然还有添加-v选项,查看详细信息列表:

查看远端主机信息

查看特定主机信息(git remote show)

我们也可以查看某一特定远端主机的详细信息,使用git remote show <主机别名>如:

查看特定远端主机信息

如上,我们可以看到详细信息,远端地址,远程所有分支,
及在各本地分支上使用git pullgit push指令操作时对应的远程分支。

数据共享(git fetch & git pull & git push)

添加远程主机后,我们可以与主机共享代码或文件。

git fetch

使用git fetch <主机名> [远程分支,可选]:[新建本地分支,可选]指令,即会将该主机地址对应的远程仓库中所有数据(包括所有分支)拉取到本地,前面提到的隐式添加远端主机git clone方式已包含这一过程:

git fetch

如上,我们已经将远端react仓库的所有分支,下载到本地的对应分支(此处只有master分支,其下载到本地的react/master分支),我们可以将这些本地分支合并到其他分支或在这些本地分支的基础上检出(check out)新分支。

当指定远程分支名时,如下:

git remote

将远端origin仓库的master分支下载到本地并新建一个本地分支temp。

git pull

除了使用git fetch指令拉取远程数据,还可以使用git pull <主机名> <远程分支>指令拉取远程特定分支的所有数据:

git pull remote

其与git fetch的差别有两点:

  • gi pull需要指定特定远程分支参数
  • git pull指令会自动拉取数据并将其合并至当前分支,而git fetch只是拉取所有数据及分支,不影响本地数据,我们需要手动合并。

git push

git fetchgit pull对应的另一个指令则是git push <主机名> <本地分支>,使用该指令可以向远端推送分支数据:

git push remote

重命名远端主机别名(git remote rename)

Git也支持我们重命名之前添加过的远端主机别名:


git remoet rename <旧主机别名> <新别名>

git remote rename

删除远端主机别名(git remote remove|rm)

使用git remote remove|rm <主机别名>指令删除远端主机:

git remote remove

本篇关于Git远端主机(remote)的相关介绍就结束了,其中涉及到部分Git分支相关操作,在下篇将详细进行介绍。

原创文章,转载请注明: 转载自 熊建刚的博客

本文链接地址: Git由浅入深之远端主机(git remote)

熊 建刚

热爱前端,但不局限于前端,喜欢尝试各种新技术,爱好读书。

One thought on “Git由浅入深之远端主机(git remote)

发表评论

电子邮件地址不会被公开。 必填项已用*标注