美文网首页Git 进阶
Git 进阶 - 关联多个远程仓库 remote

Git 进阶 - 关联多个远程仓库 remote

作者: tingtingtina | 来源:发表于2021-03-04 18:05 被阅读0次

在我们开发中,可能需要一个 Git 仓库有多个远程做管理,或者同步。

比如本地的 git 库,既想 push 到 gitlab ,又想推到 github 上,那么可以使用 remote 相关的命令处理。

全面的使用说明通过 help 查看

# brife
git remote -h
# detail
git remote --help

入门系列第一篇中已经提到,本地 git 项目如何推送到远程仓库中

git remote add origin <url>

查看远程仓库信息

通过以下命令查看当前的远程库

# 查看远程库
$ git remote 
origin

# 查看远程库及地址
$ git remote -v 
origin  http://git.xxx (fetch)
origin  http://git.xxx(push)

添加多个远程地址

添加 Git 项目添加多个远程地址,有两种方式

添加一个远程地址 <url>,并命名<name>

1. 添加一个远程仓库,独立管理

命令为:

git remote add <name> <url>

示例:

  1. 指定一个默认的远程库 orgin
  2. 新增一个远程库 git remote add tina https://github.com/tingtingtina/xxx.git
  3. 有新的提交推到到 repo git push (默认 推到 origin)
  4. 如果要同步到 远程库 tina 中 需要手动指定仓库别名 push git push tina
$ git remote -v
origin  http://git.xxx (fetch)
origin  http://git.xxx (push)
tina    https://github.com/tingtingtina/xxx.git (fetch)
tina    https://github.com/tingtingtina/xxx.git (push)

从信息上也可以看出来,这两个仓库需要独立管理。

2. 为指定仓库设置多个远程地址

命令为:

git remote set-url --add <name> <url>

为名为 <name> 的仓库关联一个仓库地址,不需要主动 push 多个仓库,而是 push 指定仓库,这个仓库下配置的所有相关链接的仓库都会更新。

示例

  1. 为 origin 添加一个链接 git remote set-url --add origin https://github.com/tingtingtina/xxx.git
  2. 这时通过 git remote -v查看信息
    origin 这个仓库下就有配有多个地址了,当 git push 的时候(默认是 origin,也可指定<name>)这个名下所有的远程仓库都会被更新。
$ git remote -v
origin  http://git.xxx (fetch)
origin  http://git.xxx (push)
origin  https://github.com/tingtingtina/xxx.git (push)

扩充

这两种操作的本质都是改变 git 的 config 配置文件

config 文件是当前 git 项目根目录下 .git/config (.git 目录是隐藏文件)
使用 git config -e 命令行也可查看编辑内容。

config 文件内容

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = http://git.xxx
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

当 使用 git remote add <name> <url> 时,追加 [remote "name"] 的标签

[remote "tina"]
    url = https://github.com/tingtingtina/xxx.git
    fetch = +refs/heads/*:refs/remotes/tina/*

使用 git remote set-url --add <name> <url> 会为名为<name> 的仓库添加 url 连接,比如示例中, 在 origin 下会多出一个 url 的键值对

[remote "origin"]
    url = http://git.xxx
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://github.com/tingtingtina/xxx.git

删除关联的远程库

针对上面两种设置方式,也有对应的的删除命令

# 删除名为 <name> 的远程连接
git remote remove <name>

# 删除 <name> 仓库下的指定连接
git remote set-url --delete <name> <url>

重命名一个远程仓库

git remote rename <old> <new>

参考

官方文档

相关文章

  • git

    删除关联的远程仓库 git remote remove 添加新的远程仓库关联 git remote ...

  • Git 常用命令

    远程仓库: git remote add origin 关联远程仓库 git remote remove ori...

  • git 仓库

    git 初始化 初始化git init git 新建 git 仓库,关联远程仓库 关联远程仓库git remote...

  • Git 进阶 - 关联多个远程仓库 remote

    在我们开发中,可能需要一个 Git 仓库有多个远程做管理,或者同步。 比如本地的 git 库,既想 push 到 ...

  • git关联远程仓库

    git关联远程仓库 添加远程仓库:git remote add origin git@github.com:exa...

  • git 使用记录

    Git使用 关联本地和远程仓库 git remote add 查看本地版本 git remote -...

  • git push/pull多个远程仓库

    1、关联仓库 git remote add 可以关联多个 举例: git remote add co...

  • 2018-01-16

    ##Git的使用 ###1、查看本地关联的远程仓库地址 git remote –v ###2、从远程仓库(remo...

  • git学习(下)

    将自己本地的git仓库和远程的git仓库关联上 git remote add origin git@github....

  • Git

    删除远程 Git 仓库 git remote rm origin 添加远程 Git 仓库 git remote a...

网友评论

    本文标题:Git 进阶 - 关联多个远程仓库 remote

    本文链接:https://www.haomeiwen.com/subject/lttkqltx.html