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