前言
在日常开发中,常用github,gitee,coding等平台管理代码,有时候同一份代码想要保存到多个远程地址,本地仓库配置一下,通过同一个命令提交就省事很多,下面就介绍git具体操作和可能遇到的问题,本地配置主要包含add
、fetch
命令
一、本地和远程仓库关联
首先从其中一个远程地址克隆一份代码到本地用git clone <origin-url>
,克隆到本地之后会得到一个.git文件,config为配置文件(如下图),我们主要关心的是remote和branch部分
二、关联第二个远程仓库
1. 添加第二个远程仓库
git remote add origin <origin-url>
和git remote add second-origin <second-origin-url>
,配置文件就多了一个second-origin(如下图),也可以通过检查推送状态查看git remote -v
或者git remote get-url origin
2. 配置提交命令
git config --global alias.pushall '!git push origin && git push second-origin'
检查别名配置git config --list --global
3. 同步分支
(1)在执行git pushall时可能会报 ! [rejected] master -> master (non-fast-forward 或 ! [rejected] master -> master (fetch first) error: failed to push some refs to second-origin-url
拉取所有分支git fetch origin
和 git fetch second-origin
合并多仓库git merge origin/master
和 git merge second-origin/master
推送两仓库git push origin master
和 git push second-origin master
(2)在合并分支时可能会报fatal: refusing to merge unrelated histories,报错提示拼接–allow-unrelated-histories
执行git merge origin/master --allow-unrelated-histories
就可以
参考:Github同时提交多个远程仓库