Git远程操作的命令主要有:
- $ git remote # 查看远程服务器
- $ git remote -v # 查看远程版本库信息
- $ git remote show [remote-name] # 查看指定远程仓库的信息
- $ git remote add <short-name> <url> # 添加远程仓库
- $ git fetch [remote-name] # 从远程仓库获取数据
- $ git pull <remote-name> <branch-name> # 从远程仓库拉取数据并合入当前分支
- $ git push [remote-name] [branch-name] # 推送本地数据到远程仓库
- $ git remote rename <old> <new> # 修改远程仓库的引用名称
- $ git remote rm <short-name> # 移除指定远程仓库
1. 查看远程仓库
如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个远程服务器的简写。 如果你已经克隆了自己的仓库,那么至少应该能看到 origin - 这是 Git 给你克隆的仓库服务器的默认名字:
你也可以运行git remote -v,它会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。
如果你的远程仓库不止一个,该命令会将它们全部列出。 例如,与几个协作者合作的,拥有多个远程仓库的仓库看起来像下面这样:
这样我们可以轻松拉取其中任何一个用户的贡献。
如果想要查看某一个远程仓库的更多信息,可以使用 git remote show [remote-name] 命令。 如果想以一个特定的缩写名运行这个命令,例如 origin,会得到像下面类似的信息:
2. 添加远程仓库
运行 git remote add <short-name> <url> 命令可以添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写:
现在你可以在命令行中使用字符串 pb 来代替整个 URL。 例如,如果你想拉取 Paul 的仓库中有但你没有的信息,可以运行 git fetch pb:
3. 从远程仓库拉取
从远程仓库中获得数据,可以执行命令:
$ git fetch [remote-name]
这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。注意: git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。
4. 从远程仓库拉取数据并合入当前分支
运行 git pull 通常会从最初克隆的服务器上抓取所有分支修改的数据,并自动尝试将对应分支的修改合并到当前分支。如果你只想获取指定分支的更新,并将其合入当前分支,可以执行如下命令:
$ git pull <remote-name> <branch-name>
5. 推送本地数据到远程仓库
当你想分享你的项目时,必须将其推送到上游。 这个命令很简单:git push [remote-name] [branch-name]。当你想要将 master 分支推送到 origin 服务器时那么运行这个命令就可以将你所做的备份到服务器:
只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。
6. 远程仓库的移除与重命名
如果想要重命名引用的名字可以运行 git remote rename 去修改一个远程仓库的简写名。 例如,想要将 pb重命名为 paul,可以用 git remote rename 这样做:
如果因为一些原因想要移除一个远程仓库 - 你已经从服务器上搬走了或不再想使用某一个特定的镜像了,又或者某一个贡献者不再贡献了,可以使用 git remote rm 命令: