天天看點

git pull 覆寫本地_GIT 解決沖突的小妙招

git pull 覆寫本地_GIT 解決沖突的小妙招

在使用git pull代碼時,經常會碰到有沖突的情況,提示如下資訊:

Your branch is behind 'origin/master' by 123 commits, and can be fast-forwarded.

(use "git pull" to update your local branch)

Please, commit your changes or stash them before you can merge.
           

這個意思是說更新下來的内容和本地修改的内容有沖突,先送出你的改變或者先将本地修改暫時存儲起來。

一.處理的方式非常簡單,主要是使用git stash指令進行處理,分成以下幾個步驟進行處理。---- 通常用這種方法

1、先将本地修改存儲起來

$ git stash
           
git pull 覆寫本地_GIT 解決沖突的小妙招

這樣本地的所有修改就都被暫時存儲起來 。是用git stash list可以看到儲存的資訊:

it stash暫存修改

其中[email protected]{0}就是剛才儲存的标記。

2、pull内容

暫存了本地修改之後,就可以pull了。

$ git pull
           

3、還原暫存的内容

$ git stash pop [email protected]{0}
           

系統提示如下類似的資訊:

Auto-merging c/environ.cCONFLICT (content): Merge conflict in c/environ.c
           

意思就是系統自動合并修改的内容,但是其中有沖突,需要解決其中的沖突。

4、解決檔案中沖突的的部分

打開沖突的檔案,直接取出要保留或者要去除的git沖突内容

其中Updated upstream 和=====之間的内容就是pull下來的内容,====和stashed changes之間的内容就是本地修改的内容。碰到這種情況,git也不知道哪行内容是需要的,是以要自行确定需要的内容。

解決完成之後,就可以正常的送出了。

git pull 覆寫本地_GIT 解決沖突的小妙招

二、放棄本地修改 的改法 ----這種方法會丢棄本地修改的代碼,而且不可找回

1

2

git reset --hard

git pull

git pull 覆寫本地_GIT 解決沖突的小妙招

繼續閱讀