1. 程式人生 > >Git將一個專案同時從本地推送到GitHub和Gitee

Git將一個專案同時從本地推送到GitHub和Gitee

前言

博主是根據自己的情況寫這篇博文的,每個人遇到的情況和需求可能不一樣哈,所以初始的步驟也不一定一致,但是同時推送到Github和Gitee的步驟都會是一致滴!

 

Gitee拉取Github倉庫

直接在Gitee中建立一個專案,然後再最後一行匯入Github專案就闊以啦!

去到你的Github倉庫複製https連結,直接貼上就闊以啦

到此為止,在Gitee就已經建立好倉庫啦

 

本地配置推送方式

方式一:定義不同的遠端倉庫名稱,然後分別推送 多次推送,配了幾個遠端倉庫就推送幾次 

方式二:在同一個遠端倉庫下新增另一個遠端倉庫的地址,然後推送 only一次推送 

 

以下情況均是本地只有單個ssh-key時的操作!!

方式一:多次推送

優點 缺點
  1. 想推哪個倉庫就推哪個
  2. 不想推哪個就不推哪個
推送倉庫數量多時,時間成本高

1.可以直接通過命令將本地專案和gitee專案關聯

 git remote add gitee 碼雲專案地址 

2.也可以通過修改本地專案的配置檔案

  1. 首先,進入到專案的 .git 資料夾,開啟 config 檔案
  2. 然後,找到 [remote "origin"] ,複製一份remote到下面,修改remote的名字和url即可

 為了避免衝突,將原始的remote名字也改掉,注意:remote的名字任意,但是在提交的時候要與這裡對應

 

3.執行以下命令,可以看到配置的兩個倉庫

 git remote 

4.推送程式碼時,需要對兩個倉庫分別執行一次push命令,也就是多次推送

git push github matser 

git push gitee master  

 

方式二:一次推送

1.通過命令將碼雲專案地址新增到本地已有的remote下

 git remote set-url --add origin 碼雲專案地址 

2.也可以通過修改本地專案的配置檔案

3.推送程式碼只需執行以下一條命令即可 

git push 

 

可能會遇到的問題

博主就是配完之後遇到了該問題,所以拿出來跟大家說說哈

git push的時有時候會出現錯誤[rejected] master -> master (fetch first)

此時可以輸入: git push -f   進行解決錯誤,然後再: git push 

如果上述解決方式不管用也可以輸入: git pull --rebase origin master  之後再進行 git push 即可。

 

當本地有多個ssh-key時

如果也想配多個ssh-key的話,可以參照這篇文章哦:https://www.cnblogs.com/poloyy/p/12189140.html

你需要更改兩個地方

第一:公鑰配置檔案,目錄是: C:\Users\user\.ssh 下的 config 檔案

現在多了gitee,所以對應的Host也要增加,如下圖

我這裡是兩個ssh-key都會被Github和Gitee共用,正常來說是一個ssh-key指向一個倉庫即可,譬如第一個key的Host配成Github的,第二個Key的Host配成Gitee

 

第二:需要修改在上面配置過的 config 檔案,它在你的專案目錄下的 .git 資料夾下

 原本只有一個ssh-key時,你的配置檔案可能是這樣的

 

 當你有兩個ssh-key時,你的配置檔案就需要改成如下

 

最後將 Github_HOST 、 Gitee_HOST 替換成你自己配置裡的Host地址

其餘步驟都是一樣的啦!這裡就是要強調下,如果有多個ssh-key時,還得修改下配置檔案而已~