pycharm Git拉取時,報“Your local changes would be overwritten by merge.Commit, stash or revert them to...

今天將本地分支與遠(yuǎn)程master分支合并時,出現(xiàn)了這樣的問題:


image.png

這是因為本地有文件改動未提交,并且該文件和Git服務(wù)器最新版本有沖突,此時pull更新就會提示錯誤,無法更新。

記錄下解決方法

方法一

保留本地改動的同時,并把Git服務(wù)器上的代碼pull下來
先把本地改動暫存到本地倉庫,pull代碼后再把這部分改動代碼拿出來。
【步驟】

  1. 通過VCS -> Git -> Stash Changes,將本地的所有改動暫存到本地倉庫。
    這一步執(zhí)行后會撤銷本地的所有改動,這時候不用擔(dān)心自己修改的代碼怎么不見了,還可以拿出來的。

    image.png

  2. 現(xiàn)在可以pull了


    image.png

    pull完成后本地代碼就更新到最新了,也不會報錯了~


    image.png
  3. 如果想把自己修改的部分從本地倉庫中再拿出來的話,可以通過VCS -> Git -> unStash Changes把之前的改動合并到本地。

方法二

直接覆蓋本地的代碼,放棄自己本地的改動,只保留服務(wù)器端代碼
直接回退到上一個版本,再進(jìn)行pull。
【步驟】

  1. 直接 VCS -> Git -> Reset HEAD...

    image.png

  2. 選擇需要的reset模式:hard(即放棄本地代碼,新修改的都不要了,退回上一版本,再拉取代碼到本地。)


    image.png

    image.png

延伸

在使用Git的過程中,有些時候我們只想要 git 服務(wù)器中的最新版本的項目,對于本地的項目中修改不做任何理會,就需要用到 Git pull 的強(qiáng)制覆蓋。

git fetch --all
git reset --hard origin/master 
git pull

git pull從遠(yuǎn)程拉取最新版本 到本地自動合并,git fetch從遠(yuǎn)程獲取最新版本 到本地不會自動合并

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容