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

2023-12-25 15:59:29

目录

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

添加远程仓库

查看远程仓库

推送到全部远程仓库

同步指定目标仓库

更改远程仓库地址

删除远程仓库

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

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

参考资料:


前言

当我们实际开发中,可能会遇到一个项目需要配置多个远程仓库的问题,这里简单介绍几种使用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)

文章来源:https://blog.csdn.net/weixin_44339850/article/details/135159067
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。