remote

最后更新于:2022-04-01 00:51:28

## git remote 罗列、添加和删除远端仓库别名 不像中心化的版本控制系统(客户端与服务端很不一样),Git 仓库基本上都是一致的,并且并可以同步他们。 这使得拥有多个远端仓库变得容易 —— 你可以拥有一些只读的仓库,另外的一些也可写的仓库。 当你需要与远端仓库同步的时候,不需要使用它详细的链接。Git 储存了你感兴趣的远端仓库的链接的别名或者昵称。 你可以使用 `git remote` 命令管理这个远端仓库列表。 ### git remote 列出远端别名 如果没有任何参数,Git 会列出它存储的远端仓库别名了事。默认情况下,如果你的项目是克隆的(与本地创建一个新的相反), Git 会自动将你的项目克隆自的仓库添加到列表中,并取名“origin”。 如果你执行时加上 `-v` 参数,你还可以看到每个别名的实际链接地址。 ~~~ $ git remote origin $ git remote -v origin git@github.com:github/git-reference.git (fetch) origin git@github.com:github/git-reference.git (push) ~~~ 在此你看到了该链接两次,是因为 Git 允许你为每个远端仓库添加不同的推送与获取的链接,以备你读写时希望使用不同的协议。 ### git remote add 为你的项目添加一个新的远端仓库 如果你希望分享一个本地创建的仓库,或者你想要获取别人的仓库中的贡献 —— 如果你想要以任何方式与一个新仓库沟通,最简单的方式通常就是把它添加为一个远端仓库。 执行 `git remote add [alias] [url]` 就可以。 此命令将 `[url]` 以 `[alias]` 的别名添加为本地的远端仓库。 例如,假设我们想要与整个世界分享我们的 Hello World 程序。 我们可以在一台服务器上创建一个新仓库(我以 GitHub 为例子)。 它应该会给你一个链接,在这里就是“git@github.com:schacon/hw.git”。 要把它添加到我们的项目以便我们推送以及获取更新,我们可以这样: ~~~ $ git remote $ git remote add github git@github.com:schacon/hw.git $ git remote -v github git@github.com:schacon/hw.git (fetch) github git@github.com:schacon/hw.git (push) ~~~ 像分支的命名一样,远端仓库的别名是强制的 —— 就像“master”,没有特别意义,但它广为使用, 因为 `git init` 默认用它;“origin”经常被用作远端仓库别名,就因为 `git clone` 默认用它作为克隆自的链接的别名。此例中,我决定给我的远端仓库取名“github”,但我叫它随便什么都可以。 ### git remote rm 删除现存的某个别名 Git addeth and Git taketh away. 如果你需要删除一个远端 —— 不再需要它了、项目已经没了,等等 —— 你可以使用 `git remote rm [alias]` 把它删掉。 ~~~ $ git remote -v github git@github.com:schacon/hw.git (fetch) github git@github.com:schacon/hw.git (push) $ git remote add origin git://github.com/pjhyett/hw.git $ git remote -v github git@github.com:schacon/hw.git (fetch) github git@github.com:schacon/hw.git (push) origin git://github.com/pjhyett/hw.git (fetch) origin git://github.com/pjhyett/hw.git (push) $ git remote rm origin $ git remote -v github git@github.com:schacon/hw.git (fetch) github git@github.com:schacon/hw.git (push) ~~~ > **简而言之** 你可以用 `git remote` 列出你的远端仓库和那些仓库的链接。 你可以使用 `git remote add` 添加新的远端仓库,用 `git remote rm` 删掉已存在的那些。
';