【Git使用小技巧】一个项目使用多个远程仓库

目录

场景一:多远程仓库的基本操作

添加远程仓库

查看远程仓库

推送到全部远程仓库

同步指定目标仓库

更改远程仓库地址

删除远程仓库

场景二:所有仓库同步拉取/推送

场景三:一个仓库只拉取,一个仓库只推送

参考资料:


前言

当我们实际开发中,可能会遇到一个项目需要配置多个远程仓库的问题,这里简单介绍几种使用git工具管理远程仓库的方法。

场景一:多远程仓库的基本操作

添加远程仓库

如果我们当前没有关联远程仓库,从这一步开始,否则直接跳过。

我们可以使用 git remote add 命令来添加多个远程仓库。

git remote add origin <url>
git remote add <仓库名> <仓库地址>

查看远程仓库

查看本地仓库所关联的远程仓库,使用以下命令:

git remote -v

推送到全部远程仓库

使用git push命令时,默认会推送到默认远程仓库(通常是origin)。如果需要同时推送到全部仓库,可以使用git push命令的--all选项

git push --all

同步指定目标仓库

git push <repo> <branch>
git push <仓库名> <分支名>

对远程仓库分别操作,拉取可以把push换成pull或fetch。例如:

git fetch origin
git fetch backup

git pull origin <branch>
git pull backup <branch>

更改远程仓库地址

git remote set-url origin <new_url>
git remote set-url <仓库名> <新仓库地址>

删除远程仓库

如果需要删除已经添加的远程仓库,可以使用git remote remove命令。例如,删除backup仓库:

git remote remove backup

场景二:所有仓库同步拉取/推送

场景一中,由于我们添加了多个远程仓库,在push和pull时便面临了仓库的选择问题。但有时候只需要保持远程仓库完全一致即可满足要求。下面这个方法可以同时同步多个远程仓库,忽略多个仓库的选择问题。注意:如果远程仓库不一致可能会导致冲突,使用前请保持远程仓库内容基本一致

不额外添加远程仓库,给现有的远程仓库添加额外的URL,即多个地址使用相同仓库名,一般使用默认仓库名origin

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

场景三:一个仓库只拉取,一个仓库只推送

首先,如果本地项目没有关联远程仓库,先添加一个远程仓库(参考场景一:添加远程仓库),一般用这个仓库来拉取代码。

如果已经添加过远程仓库,查看远程仓库名(参考场景一:查看远程仓库)。

使用命令修改当前仓库的推送地址,仓库名应和现有仓库名一致。例如:

# 修改push地址
git remote set-url --push origin url
git remote set-url --push <仓库名> <仓库地址>

参考资料:

本地Git仓库关联多个远程仓库的两种方法 - 知乎 (zhihu.com)

Git 如何使用多个远程仓库|极客教程 (geek-docs.com)

git同一项目使用多个远程仓库 - 简书 (jianshu.com)

相关推荐

  1. Git使用技巧一个项目使用远程仓库

    2023-12-26 20:56:03       67 阅读
  2. Git一个项目同时推送到远程仓库

    2023-12-26 20:56:03       109 阅读
  3. git如何配置远程仓库,并且进行切换

    2023-12-26 20:56:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-26 20:56:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-26 20:56:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-26 20:56:03       82 阅读
  4. Python语言-面向对象

    2023-12-26 20:56:03       91 阅读

热门阅读

  1. .NET 7(C#)配置使用log4net日志框架的方法

    2023-12-26 20:56:03       47 阅读
  2. 前端面试题html

    2023-12-26 20:56:03       57 阅读
  3. Day01-BootStrap

    2023-12-26 20:56:03       48 阅读
  4. 【漏洞库】其他漏洞5

    2023-12-26 20:56:03       50 阅读
  5. StringBuilder和Stringjoiner

    2023-12-26 20:56:03       50 阅读
  6. CentOS上通过bind实现反向DNS解析

    2023-12-26 20:56:03       51 阅读
  7. C# 压缩和解压文件及文件夹

    2023-12-26 20:56:03       52 阅读
  8. Raw 单帧降噪论文整理

    2023-12-26 20:56:03       56 阅读