git error: Your local changes to the following files would be overwritten by merge 解決方案


一、背景
團隊其他成員修改了某文件並已提交入庫,你在pull之前修改了本地該文件,等你修改完代碼再pull時,這時會報錯如下錯誤:

error: Your local changes to the following files would be overwritten by merge

二、解決方案
根據是否要保存本地修改,有以下兩種解決方案

2.1  保留修改
執行以下三條命令

git stash #封存修改
git pull origin master
git stash pop #把修改還原
注:

git stash:備份當前工作區內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前工作區內容保存到Git棧中
git pull:拉取服務器上當前分支代碼
git stash pop:從Git棧中讀取最近一次保存的內容,恢復工作區相關內容。同時,用戶可能進行多次stash操作,需要保證后stash的最先被取到,所以用棧(先進后出)來管理;pop取棧頂的內容並恢復
git stash list:顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear:清空Git棧
2.2 廢棄修改
核心思想就是版本回退,具體命令如下

git reset --hard
git pull origin master
注:不建議使用第二種。除非你再三確定不需要本地的修改了。
————————————————
版權聲明:本文為CSDN博主「躬匠」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ydm19891101/article/details/104505624/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM