5.3 远程仓库管理
为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库。 远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。 在本节中,我们将介绍一部分远程管理的技能。
什么是远程仓库?
在工作中远程仓库一般指 git 服务器上的仓库,但实际上它可以在你本地的本机上。 “远程”未必表示仓库在网络或互联网上的其它位置,而只是表示它在别处。在这样的远程仓库上工作,仍然需要和其它远程仓库上一样的标准推送、拉取和抓取操作。
远程仓库可以和你本地的分支对应,不同的分支推送到不同的远程仓库。
查看远程仓库?
如果想查看你已经配置的远程仓库服务器,可以运行 git remote
命令。 它会列出你指定的每一个远程服务器的名称。 在我们之前的教程中,已经使用过远程仓库名称 origin
,因为默认的远程服务器名称是 origin
。
使用 -v
参数可以查看更加详细的信息。
git remote -v
使用上面的命令可以查看已配置的服务器的名称、地址以及请求类型。
还可以使用 show 命令来查看某个具体的远程仓库信息
git remote show 远程名
添加远程仓库?
在使用 git clone 仓库地址
命令检出仓库以后,在本地仓库里面就会有一个名为 origin
的远程仓库。
不过这里我们主要讲的是如何再添加一个或多个其他远程地址,添加远程仓库使用的是 add
命令,用法如下:
git remote add 名称 地址
推送分支到不同仓库
添加了多个仓库以后就可以把分支推送到不同仓库了,要如何做呢?其实也非常简单。在之前分支管理的章节中我们已经用过这个参数。
git push --set-upstream 远程名 分支名
重命名远程仓库
你可以运行 git remote rename 来修改一个远程仓库的简写名。 例如,想要将 origin
重命名为 gitee
,可以用 git remote rename 这样做:
# 用法
git remote rename 仓库名 新仓库名
# 把origin重命名为gitee
git remote rename origin gitee
值得注意的是这同样也会修改你所有远程跟踪的分支名字。 那些过去引用 origin/master 的现在会引用 gitee/master。
删除远程仓库
如果因为一些原因想要移除一个远程仓库——你已经从服务器上搬走了或不再想使用某一个特定的镜像了,又或者某一个贡献者不再贡献了——可以使用 git remote remove
或 git remote rm
git remote remove 仓库名
git remote rm 仓库名