今天遇到一个新的需求, 要把现在的代码再推送到一个新的代码库,并不定期自动更新代码,实现如下效果
我创建了一个项目,然后通过下面的命令 push 到了 GitHub 上。如何再将这个项目 push 到其他远程仓库呢?
git remote add github https://github.com/zxbetter/test.git
git push -u github master
同一项目使用两个或者多喝远程代码仓库管理, 有两种情况
第一种:从刚开始建项目,需求就是代码要上传到两个或多个仓库
方法一: 使用 git remote add 命令
A. 本地创建项目
B. 打开终端 cd/项目 git int
C. 去对应的两个代码仓库创建本地代码要存储的目录, 并生成一个git地址
D. 回到终端 分别执行下面语句
git remote add 仓库A https://项目A仓库的地址
git remote add 仓库B https://项目B仓库的地址
(仓库 A,B 的名字可以自己起,用来区分哪个远程仓库)
查看远程仓库的情况
git remote -v
github https://github.com/piaoyun.cc/test.git (fetch)
github https://github.com/piaoyun.cc/test.git (push)
oschina https://git.oschina.net/piaoyun.cc/test.git (fetch)
oschina https://git.oschina.net/piaoyun.cc/test.git (push)
可以看到已经有两个远程仓库了
git push 仓库A master:master
git push 仓库B master:master
pull 的时候也是两次
git pull 仓库A master
git pull 仓库B master
如果是多个代码仓库,每次都要push 和pull 多次, 比较繁琐, 可以使用下面的方法
方法二: 使用 git remote set-url 命令
1.删除方法一的 oschina 远程仓库。
git remote rm oschina
2.使用如下命令添加远程仓库。
git remote set-url --add github https://git.oschina.net/zxbetter/test.git
3.查看远程仓库情况。可以看到 github 远程仓库有两个 push 地址。这种方法的好处是每次只需要 push 一次就行了。
git remote -v
github https://github.com/zxbetter/test.git (fetch)
github https://github.com/zxbetter/test.git (push)
github https://git.oschina.net/zxbetter/test.git (push)
方法三: 修改配置文件
打开 .git/config
找到 [remote "github"]
,添加对应的 url 即可,效果如下。这种方法其实和方法二是一样的。
[remote "github"]
url = https://github.com/zxbetter/test.git
fetch = +refs/heads/*:refs/remotes/github/*
url = https://git.oschina.net/zxbetter/test.git
关于 git pull关于 git pull
方法二和三在 push 的时候比较方便。但是在 pull 的时候只能从方法三中的第一个 url 地址拉取代码。而方法一则不存在这种问题(可能要解决冲突)。
所以,如果只进行 push 操作,推荐方法二和三,如果也要进行 pull 操作,推荐方法一。
参考资料:
一个项目push到多个远程Git仓库:
https://segmentfault.com/a/1190000011294144
git同一项目使用多个远程仓库
:https://www.jianshu.com/p/4cd46619b3a5
(7条消息)Git提交到多个远程仓库:
https://blog.csdn.net/isea533/article/details/41382699
将项目提交到两个git仓库(github和oschina)
:https://www.iteye.com/blog/feitianbenyue-2376791