基於多處備份的想法,確保自己的代碼不丟失。或者是代碼的git本身搭建在自己公司的服務上,而你為了保險起見,想把項目同時放在碼雲或者github上面。
這樣,你就需要讓一個項目同時備份在兩個雲端,這樣即使公司的服務器上面的代碼丟了,或者公司服務器把你的名單除名了,你仍然在碼雲或者github上面存有你的代碼。
那么,怎么實現這個想法呢?請看如下步驟:
前提:
1、假設你現在在gitLab上面新建了一個git地址A(里面已經有項目內容)
git@git.taotiangou.net:teamemory/myh5.git
2、假設你同時在碼雲上面同樣新建了一個git地址B (可能是一個新建的空白項目內容地址)
git@gitee.com:teamemory/myH5.git
現在想實現我在git地址A項目中,提交代碼的同時,可同時提交到git地址B 。
方法1:(需要push兩次,不符合題目要求,但是優點是可以pull兩次)
步驟1:
在git A 項目中添加另一個git B遠程的地址
git remote add origin2 git@gitee.com:teamemory/myH5.git // origin2可以自定義
步驟2:
先拉取git B 該地址上的數據
git pull origin2 master --allow-unrelated-histories (--allow-unrelated-histories是為了解決沖突)
步驟3:
在git A 項目中把項目內容同步到git B地址中
git push origin2 master
此時,我們基本實現了可以把一個項目可以提交到兩個git地址了,但是每次提交內容都需要進行如下兩次提交,才能實現把一個項目同時提交到兩個git地址。
git push origin master
git push origin2 master
問題來了,我們想要的實現的是,我提交一次,就能同步兩個項目,怎么繼續實現呢?請看方法2
注意:刪除上面的添加的git B的遠程地址
git remote -v // 查看此時的包括兩個遠程地址
git remote rm origin2 // 刪除git B的遠程地址
git remote -v //此時應該只有git A的遠程地址
方法2:(只需要push一次)
給origin 增加一個可以push的地址
git remote set-url --add origin git@gitee.com:teamemory/myH5.git //給origin添加一個遠程push地址,這樣一次push就能同時push到兩個地址上面
git remote -v //查看是否多了一條push地址(這個可不執行)
至此,我們就可以直接一個push,同時推送到兩個git地址。
git push origin master -f // 如果第一次推不上去代碼,可以使用強推的方式
注意:刪除添加的路徑的方法是
git remote set-url --delete origin git@gitee.com:teamemory/myH5.git
至此,我們建議一次push實現兩個git項目的溝通,建議使用方法2!!!