前言
github用来管理版本存储代码很是合适,但是“墙”的存在常常让开发者变得抓狂,于是国内推出了gitee,也就是码云,操作习惯和git没有任何不同,是不是很爽?那么,git能否支持一个项目同时推送到gitee和github呢?
答案是YES
配置1
打开每个项目的.git文件夹下的config文件(windows请务必打开隐藏文件展示,打开姿势自行百度)
而后我们在文件中新增以下的配置
[remote "gitee"]
url = 你的gitee项目地址
fetch = +refs/heads/*:refs/remotes/gitee/*
tagopt = --no-tags
保存完成。
或者命令行
git remote add gitee 你的gitee项目地址
此时我们执行命令
git remote
即可看到两个仓库
需要注意,此时推送代码时需要对两个仓库分别执行一次push命令
git push gitRepo
git push giteeRepo
那么有没有一种方式可以一次push同时推送多个仓库?请往下看。
配置2
我们可以更改.git下的config文件为
[remote "origin"]
url = 原有的git项目地址
fetch = +refs/heads/*:refs/remotes/origin/*
url = 新增的gitee项目地址
保存即可。
或者git命令行:
git remote set-url --add origin 你的gitee项目地址
此时,只需执行一次push即可同时推送多个仓库。
git push
对比
以上两种配置乍一看,配置2好像比配置1方便很多,至少少了一次push不是?!,其实未必,两种配置的不同还体现在pll代码上,配置1可以选择任一仓库进行pll,而配置2缺默认只能从config中的第一个url内的仓库pull代码。
总之,pull代码的话配置1更方便,push代码的话配置2更方便。至于用哪种,各位dever自选。
附录
针对使用tortoisegit的并且不想手动改配置的看官,博主特地截图如何配置
1.png 2.png推送时若需要推送到全部仓库请选择全部
3.png
这边注意看红色加粗矩形部分,当两个远程仓库代码不同时,你推送全部仓库时可能会出现代码不一致,导致某些仓库推送失败,此时,请勾选矩形部分,意思就是“强制推送”
网友评论