IDEA:Git stash 暫存分支修改的實現代碼
場景:
當我們正在master分支開發新功能的時候,突然接到一個任務發現線上出現瞭一個緊急的BUG需要修復,由於沒有打新分支做這部分新需求,這時正做到半途中….已經把本地代碼修改得花裡胡哨瞭,該怎麼辦,有什麼辦法快速解決嗎?
這時Git stash這個非常實用的功能就派上用場瞭,將本分支的修改暫存起來。
涉及到的幾個命令:
1、git status:查看工作區文件狀態,列出已經修改的文件
2、 git stash save ‘自定義描述’ :暫存工作區的文件
3、git stash list:查看所有暫存列表
4、git stash pop:恢復暫存的文件,直接將最近一次 stash 的代碼pop出來並刪除stash記錄,還原到stash隱藏之前
5、git stash apply id:恢復暫存的文件,和git stash pop功能一樣,先通過git stash list找到記錄編號,通過編號id恢復。區別在於git stash apply id不會刪除stash記錄。
實際中還原後就沒什麼必要在保存stash記錄瞭,推薦直接用git stash pop就OK瞭。
IDEA 也可以用可視化界面直接操作:右鍵project > git > repository
拓展:找回清除的 stash 數據
我們能將代碼暫存起來,當然也能將暫存區的數據刪除,如果在沒有恢復暫存代碼的時候不小心將暫存區的數據刪除瞭該怎麼吧?
隻需要用這句命令即可:
git log –graph –oneline –decorate $( git fsck –no-reflog | awk ‘/dangling commit/ {print $3}’)
找到對應的 id,然後用git stash apply id 命令直接恢復找回即可
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- git stash 和unstash的使用操作,git unstash failed
- 簡述IDEA集成Git在實際項目中的運用
- git工具常用命令及ssh操作方法
- 45個GIT經典操作場景使用詳解
- Git基礎學習之標簽tag的使用詳解