Git pull更新本地沖突和git操作——git pull 撤銷誤操作,恢復本地代碼


使用 git pull 更新代碼,遇到了下面的問題:

error: Your local changes to the following files would be overwritten by merge:
    xxx/xxx/xxx.java
Please, commit your changes or stash them before you can merge.
Aborting 

解決辦法:
1.先備份修改再pull

git stash git pull git stash pop

2.放棄本地修改直接pull

git reset --hard git pull

git stash 命令詳解:
git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容保存到Git棧中。
git stash pop: 從Git棧中讀取最近一次保存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。
git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。

 

git操作——git pull 撤銷誤操作,恢復本地代碼

需求

  • 開發的代碼還未commit到git本地倉庫,就從git遠程倉庫上pull了代碼,導致開發的代碼直接被沖掉,需要退回到上一個版本代碼。

操作

  • 進入到項目git本地倉庫文件夾下
  • 打開cmd窗口,執行命令:git reflog
  • 找到需要回退的版本,執行命令:git reset --hard HEAD@{n}
  • 如執行:git reset --hard 61a942c
 
 


免責聲明!

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



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