git關聯遠程庫

問題: git關聯遠程倉庫,執行git push origin master 推送本地系統代碼時報以下問題

Updates were rejected because the tip of your current branch is behind 
its remote counterpart. Integrate the remote changes (e.g.  'git pull ...') 
before pushing again.

查了資料發現是創建遠程庫時自動生成了readme文件,必須要先拉取遠程庫的文件到本地庫,再推送本地庫代碼。

於是執行 git pull origin master 

報錯 fatal: This operation must be run in a work tree

這個問題網上查了很多資料,都說是沒有創建本地庫時沒有readme文件,但我執行的操作就是要先從遠程庫拉取呀,

而且後面發現執行 git status 時也報同樣問題,

查了半天發現自己的當前目錄是 .git  的版本庫目錄,

重新切換到git的工作區項目目錄下,再使用其他命令,fatal: This operation must be run in a work tree 的問題解決。

再執行 git pull origin master 又出現新問題:

fatal: refusing to merge unrelated histories
(拒絕合併不相關的歷史)

解決:

這個問題的最主要原因還是在於本地倉庫和遠程倉庫實際上是獨立的兩個倉庫。假如我之前是直接clone的方式在本地建立起遠程github倉庫的克隆本地倉庫就不會有這問題了。

查閱了一下資料,發現可以在pull命令後緊接着使用--allow-unrelated-history選項來解決問題(該選項可以合併兩個獨立啓動倉庫的歷史)

最後將本地倉庫的提交推送到遠程github倉庫上 :

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章