1. 程式人生 > >git衝突解決

git衝突解決

方法一、

覆蓋本地

git pull 出現衝突後丟棄本地衝突檔案修改,採用遠端檔案覆蓋本地檔案

git checkout  [檔案路徑] 例:git checkout test/src/main/resources/spring-shiro.xml  

方法二、

使用git stash命令,然後合併程式碼

git stash 會把所有未提交的修改(包括暫存的和非暫存的)都儲存起來,用於後續恢復當前工作目錄。

stash是本地的,不會上傳帶遠端倉庫,所以不用擔心

我們可以使用git stash save “message” 命令來為我們的版本定義一個message,便於記錄版本

完事之後我們可以使用git stash list命令檢視我們的儲存在本地在版本列表

儲存版本以後你會發現你的程式碼又回到了修改之前,表方

我們可以使用git stash pop和git stash apply命令來應用我們之前儲存的版本

但是git stash pop命令會應用我們儲存的第一個版本,並刪除我們快取的第一個版本

只剩下一個了。

但是我們可以使用git stash apply "版本號" 指定版本號來恢復之前的程式碼,不放圖了,可以自己試試,版本號就是上圖中“[email protected]{0}”,如果不指定,預設使用最近的stash。

移除stash:我們可以使用git stash drop "版本號" 來移除指定的stash,也可以使用git stash clear 清空所有快取的stash。

git stash show 可以檢視stash的詳情,後面也可以指定版本號。該命令後加-p或者--patch可以檢視特定stash的全部diff,如下:

方法三、

拉程式碼手動合併

git add XXXX(你的衝突檔案)

git commit -m "提交說明"      提交到本地倉庫,不進行遠端推送

git pull

然後找到上面衝突的XXXX檔案,手動合併去吧

保留好自己需要的程式碼後

git add XXXX

git commit -m "提交說明"

git push