IDEA : Git Pull Failed 解决(IDEA中使用stash功能)
生活随笔
收集整理的這篇文章主要介紹了
IDEA : Git Pull Failed 解决(IDEA中使用stash功能)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、問題:
本地要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、總結(jié)
- 我在本地修改后,直接從dev上pull代碼,起了沖突;
- 一開始沒想太多,百度到這個辦法后直接就拿來用了,先pull成功了,然后恢復(fù)了我的修改的內(nèi)容,直接push
- 在git上發(fā)現(xiàn)沒有我的提交
- 后來才發(fā)現(xiàn),我在pull成功后,沒有commit我的修改,就直接push,所以暫存區(qū)里沒有東西能夠提交到遠程,所以出錯
6、經(jīng)驗
后來詢問師哥明白了
- 本地(處于修改狀態(tài)時,這個文件是打開狀態(tài)的),pull代碼的時候,git不會處理這個文件,反而將其他文件的代碼拉取好,這樣做的是為了防止你本地的修改丟失。
- 但由于處于修改狀態(tài)的文件沒有拉取得和遠程一樣,所以整個pull的過程就會Failed
- 所以,如果改動好了這個文件,想要提交到遠程分支上
3. 1.你需要先提交本地代碼到暫存區(qū)
3. 2. 再pull遠程的代碼,在pull的過程,其實就是合并你暫存區(qū)里新添加(刪減)的內(nèi)容
3. 3 再去push的時候,其實push的就是 你pull過程合并好的代碼到遠程上
7、回顧
- 第一次stash是解決bug分支問題,比如你正在改代碼,突然讓你去修復(fù)一個bug,你總不能撤銷自己所有的操作呀,
- 所以就用stash,保留現(xiàn)在的工作狀態(tài)
- stash后,本地你的所有剛剛寫到一半的代碼就都沒有了,但其實它被保存起來,還可以恢復(fù)
- 當(dāng)你bug修復(fù)結(jié)束,提交到遠程后,
- 在通過unstash,你就又回到你修復(fù)bug之前的工作狀態(tài)了
但這次,人們通過stash來解決沖突,有發(fā)現(xiàn)了stash的另一個用法,很不錯!
感謝您的閱讀!
總結(jié)
以上是生活随笔為你收集整理的IDEA : Git Pull Failed 解决(IDEA中使用stash功能)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 由于找不到PBSYS90.dll,无法继
- 下一篇: PowerBuilder程序 ASA 数