IDEA : Git Pull Failed 解决(IDEA中使用stash功能)
生活随笔
收集整理的這篇文章主要介紹了
IDEA : Git Pull Failed 解决(IDEA中使用stash功能)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、問題:
本地要commit代碼,commit之前需pull代碼,但pull提示沖突。如下
Git Pull Failed Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.
二、分析:
原因很簡單,代碼沖突。解決也很簡單,如圖提示那樣。Commit, stash or revert 。
revert 就算了,Commit需要先Pull,肯定失敗,只剩下stash。但是怎么stash呢?
三、Git 操作步驟:
- 本地代碼先 git stash ;(stash作用見參考)
- 然后pull代碼;
- 最終再將本地代碼 git stash pop;
四、IDEA中實際操作:
1、stash:
2、unstash:
5、總結
- 我在本地修改后,直接從dev上pull代碼,起了沖突;
- 一開始沒想太多,百度到這個辦法后直接就拿來用了,先pull成功了,然后恢復了我的修改的內容,直接push
- 在git上發現沒有我的提交
- 后來才發現,我在pull成功后,沒有commit我的修改,就直接push,所以暫存區里沒有東西能夠提交到遠程,所以出錯
6、經驗
后來詢問師哥明白了
- 本地(處于修改狀態時,這個文件是打開狀態的),pull代碼的時候,git不會處理這個文件,反而將其他文件的代碼拉取好,這樣做的是為了防止你本地的修改丟失。
- 但由于處于修改狀態的文件沒有拉取得和遠程一樣,所以整個pull的過程就會Failed
- 所以,如果改動好了這個文件,想要提交到遠程分支上
3. 1.你需要先提交本地代碼到暫存區
3. 2. 再pull遠程的代碼,在pull的過程,其實就是合并你暫存區里新添加(刪減)的內容
3. 3 再去push的時候,其實push的就是 你pull過程合并好的代碼到遠程上
7、回顧
- 第一次stash是解決bug分支問題,比如你正在改代碼,突然讓你去修復一個bug,你總不能撤銷自己所有的操作呀,
- 所以就用stash,保留現在的工作狀態
- stash后,本地你的所有剛剛寫到一半的代碼就都沒有了,但其實它被保存起來,還可以恢復
- 當你bug修復結束,提交到遠程后,
- 在通過unstash,你就又回到你修復bug之前的工作狀態了
但這次,人們通過stash來解決沖突,有發現了stash的另一個用法,很不錯!
感謝您的閱讀!
總結
以上是生活随笔為你收集整理的IDEA : Git Pull Failed 解决(IDEA中使用stash功能)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 由于找不到PBSYS90.dll,无法继
- 下一篇: PowerBuilder程序 ASA 数