Git解决方案之将同一项目推送到多个远程仓库

以面试题为目标来进行学习,不定期推出前端高频面试题及其解析,题无简难,重在积累,欢迎wx关注西西星球


1 应用场景

因为某些原因, 项目的 github 地址访问不到了或访问太慢,于是把同样的代码提交一份到别的代码托管平台,为方便本地对远程不同仓库代码的拉取/提交,本地需要做一些配置。

下面以 GitHubGitee 为例进行说明,假设已经在两个平台上分别创建了仓库并同步了代码,本地设备上的初始代码是从 GitHub 上拉取的。

2 命令使用

2.1 方法1:使用 git remote set-url

操作步骤如下:

# 1.添加远程仓库
git remote set-url --add origin git@gitee.com:lishasha/git-solutions.git

# 2.查看远程仓库
git remote -v
# 结果如下:
➜  git-solutions git:(master) git remote -v                                                           
origin	git@github.com:flyfreely-lss/git-solutions.git (fetch)
origin	git@github.com:flyfreely-lss/git-solutions.git (push)
origin	git@gitee.com:lishasha/git-solutions.git (push) # 该行为新添加的远程仓库

# 3.如果要提交代码,执行该命令。代码会同时被推送到 github 和 gitee
git push origin

从上述步骤2中可以总结该方法的优、缺点:

​ 优点:代码推送到远程,只需要 push 一次就行了;

​ 缺点:在一台设备上,只能从标有 (fetch) 字样的地址拉取远程仓库代码。

2.2 方法2:直接修改 .git/config文件

操作步骤如下:

  1. 项目根目录下打开 .git/config文件
  2. 找到 [remote "origin"],添加对应的 url,效果如下图:
[remote "origin"]
	url = git@github.com:flyfreely-lss/git-solutions.git
	fetch = +refs/heads/*:refs/remotes/origin/*
	url = git@gitee.com:lishasha/git-solutions.git # 新添加的行
  1. 执行 git remote -v ,会发现结果和方法1是一样的。其实方法1、2是一样的,只不过方法1是通过执行命令的方式修改.git/config 文件,方法2则是直接修改该文件的。

2.3 方法3:使用 git remote add

操作步骤:

# 1.添加远程仓库
git remote add gitee git@gitee.com:lishasha/git-solutions.git

# 2.查看远程仓库
git remote -v
# 结果如下:
➜  git-solutions git:(master)git remote -v                                                
gitee	git@gitee.com:lishasha/git-solutions.git (fetch)
gitee	git@gitee.com:lishasha/git-solutions.git (push)
origin	git@github.com:flyfreely-lss/git-solutions.git (fetch)
origin	git@github.com:flyfreely-lss/git-solutions.git (push)

# 3.如果要提交代码,执行该命令。代码会被分别推送到 github 和 gitee
git push origin
git push gitee

从上述步骤2中可以总结该方法的优、缺点:

​ 优点:在一台设备上,可以从任意地址拉取远程仓库代码;

​ 缺点:代码推送到远程,需要 push 两次。

3 总结

若只是做一些简单的提交/拉取动作,使用方法1/2即可;若想要做更灵活的控制,建议方法1/2 & 方法3中的方式都可以配置上。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值