GIT切換遠端地址倉庫

weixin_33912445發表於2017-10-27

有時候,我們想把一個專案從github切換到其他git伺服器,免不了就要切換遠端倉庫地址。那這時候有什麼辦法解決呢?據目前自己的瞭解,有三種辦法。
一、修改命令
git remote set-url origin url
二、先刪後加
git remote rm origingit remote add origin git@github.com:sheng/demo.git
三、修改config檔案
如果你的專案有加入版本控制,那可以到專案根目錄下,檢視隱藏資料夾, 發現.git資料夾,找到其中的config檔案,就可以修改其中的git remote origin地址了。
切換完了之後我們發現無法提交程式碼,報錯如下:

git push origin master
To git@github.com:qzmly100/repository-.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:qzmly100/repository-.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解決方案:
遠端分支上存在本地分支中不存在的提交,往往是多人協作開發過程中遇到的問題,可以先fetch再merge,也就是pull,把遠端分支上的提交合併到本地分支之後再push。先抓取併合並遠端倉庫全部內容(git pull origin master),再推送本地倉庫資料(git push origin master)。
如果你確定遠端分支上那些提交都不需要了,那麼直接git push origin master -f,強行讓本地分支覆蓋遠端分支


把本地倉庫與遠端倉庫建立關聯
git branch --set-upstream master origin/master

相關文章