Git使用之——Git使用方式以及常見錯誤解決

一、git基本命令

git基本命令詳見上篇博文《Git使用之——Git基本命令》,https://blog.csdn.net/ltt2130/article/details/100124920,這裏不再贅述。

二、git常見使用方式

git常見的使用方式有兩種,具體如下:

(1)直接在本地新建一個文件夾,不需要初始化,然後通過git clone命令將遠端的git倉庫克隆下來,本地的文件夾就成了本地倉庫,並且與遠程倉庫已經建立了連接,命令如下:git  clone  +  遠程倉庫地址。

所以如果要將本地的代碼提交到遠端git,可以先在Github或者GitLab上新建倉庫,然後在本地先建立一個空文件夾,將遠端的倉庫clone下來到本地,然後再將需要推送的代碼拷貝到本地的git倉庫中,再進行提交即可。

(2)另外的一種方式是,將本地的代碼目錄直接作爲本地倉庫初始化,然後與遠程的倉庫相關聯即可,步驟如下:

a、使用 “ git init ” 命令初始化本地代碼目錄爲本地倉庫;

b、在GitLab或者Github上創建遠程倉庫;

c、使用 “ git remote add origin  +  遠程倉庫地址”將本地倉庫和遠程倉庫關聯(可以通過git remote -v來查看關聯情況);

然後就可以進行相關的操作,比如add、commit 、push 等操作。

三、git常見問題

(1)Updates were rejected because the remote contains work that you do not have locally

這個問題常見於上面提到的使用方式的第二種,當本地倉庫和遠程倉庫相關聯之後,由於在遠程git創建的時候默認創建了其他的文件,比如“README”文件,然後當你關聯之後進行推送的時候,系統會提示拒絕更新到遠程庫。

原因在於:本地倉庫和遠程倉庫實際上是獨立的兩個倉庫。如果你的遠程倉庫裏面有A,但是本地倉庫只有B,沒有A,系統認爲其他地方推送了A到遠端git,導致本地的git不是最新的,這就需要先通過git pull origin master (--allow-unrelated-history) 命令將遠端git合併到本地,然後再進行推送即可。

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

在上一個問題的解決辦法中,我提到先將遠端git倉庫pull到本地進行合併,在進行提交,但是如果用“git pull origin master”命令來拉取,就會報如上所示錯誤,因爲對於本地倉庫來說,遠端倉庫中的A,不是本地提交上去的,是不認識的提交歷史,所以是拒絕合併的,但是我們通過添加“--allow-unrelated-history” 來強行的將不相關的歷史合併,即可。

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