在使用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 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也不知道哪行内容是需要的,是以要自行确定需要的内容。
解決完成之後,就可以正常的送出了。
二、放棄本地修改 的改法 ----這種方法會丢棄本地修改的代碼,而且不可找回
1
2
git reset --hard
git pull