一、 目的:多处备份,确保代码不会丢失。
二、 前提:
- 项目已经在一个gitLab地址A上
- 同时在自己的码云上新建了一个(仓库 )git地址B
- 现在想实现在git地址A项目中,提交代码的同时,同时提交到git地址B上
三、方法:
- 需要push两次,虽不符合题目要求,但是可以pull两次 (优点)
(1) 在git A项目中添加gitB 远程地址
git remote add origin2 https://gitee.com/xxxxxx.git // origin2可以自定义
(2)拉取gitB 地址上的数据
git pull origin2 master --allow-unrelated-histories
(--allow-unrelated-histories是为了解决冲突)
(3)把gitA 项目同步到gitB中
git push origin2 master
此时,我们基本实现了可以把一个项目可以提交到两个git地址了,但是每次提交内容都需要进行如下两次提交,才能实现把一个项目同时提交到两个git地址。
git push origin master git push origin2 master
注: 删除上面的添加的git B的远程地址
git remote -v // 查看此时的包括两个远程地址
git remote rm origin2 // 删除git B的远程地址
git remote -v //此时应该只有git A的远程地址
- 只需要 push 一次
(1)在gitA项目中给origin增加一个可以push的地址
git remote set-url --add origin https://gitee.com/xxxxxx.git
//给origin添加一个远程push地址,这样一次push就能同时push到两个地址上面
git remote -v //查看是否多了一条push地址(这个可不执行)
(2)push 推送 :
git push
若出现报错,采用强制推送:
git push origin master -f
注:删除添加的路径的方法是
git remote set-url --delete origin https://gitee.com/xxxxxx.git
- 若项目存在平行分支(各分支不同项目互不影响)
(1)gitB地址上创建对应分支 (在gitee中)
(2)在gitA 分支项目中给 origin增加可push的地址
git remote set-url --add origin https://gitee.com/xxxxxx.git
git remote -v //查看是否多了一条push地址
(3)push 推送:
git push
出现同上报错,强制推送:
git push origin 分支名 -f