一、問題:
本地要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 操作步驟:
1. 本地代碼先 git stash ;(stash作用見參考)
2. 然后pull代碼;
3. 最終再講本地代碼 git stash pop;
四、IDEA中實際操作:
1、stash:
2、unstash:
五、參考:
- How do I resolve git saying "Commit your changes or stash them before you can merge"? - Stack Overflow https://stackoverflow.com/questions/15745045/how-do-i-resolve-git-saying-commit-your-changes-or-stash-them-before-you-can-me (很詳細了,幾乎說了所有沖突的解決方法)
- Git沖突:commit your changes or stash them before you can merge. - CSDN博客 http://blog.csdn.net/lincyang/article/details/21519333 (解釋的也很詳細,這個說的是Git命令,自行嘗試在IDEA中應用)
- Git Stash用法 - 簡書 https://www.jianshu.com/p/ea88b6a22fcb (詳細講解了Git Stash以及相關命令的用法)