IDEA:Git stash 暫存分支修改的實(shí)現(xiàn)代碼
當(dāng)我們正在master分支開發(fā)新功能的時(shí)候,突然接到一個(gè)任務(wù)發(fā)現(xiàn)線上出現(xiàn)了一個(gè)緊急的BUG需要修復(fù),由于沒有打新分支做這部分新需求,這時(shí)正做到半途中....已經(jīng)把本地代碼修改得花里胡哨了,該怎么辦,有什么辦法快速解決嗎?
這時(shí)Git stash這個(gè)非常實(shí)用的功能就派上用場(chǎng)了,將本分支的修改暫存起來。
涉及到的幾個(gè)命令:1、git status:查看工作區(qū)文件狀態(tài),列出已經(jīng)修改的文件
2、 git stash save ’自定義描述’ :暫存工作區(qū)的文件
3、git stash list:查看所有暫存列表
4、git stash pop:恢復(fù)暫存的文件,直接將最近一次 stash 的代碼pop出來并刪除stash記錄,還原到stash隱藏之前
5、git stash apply id:恢復(fù)暫存的文件,和git stash pop功能一樣,先通過git stash list找到記錄編號(hào),通過編號(hào)id恢復(fù)。區(qū)別在于git stash apply id不會(huì)刪除stash記錄。
實(shí)際中還原后就沒什么必要在保存stash記錄了,推薦直接用git stash pop就OK了。
IDEA 也可以用可視化界面直接操作:右鍵project > git > repository
拓展:找回清除的 stash 數(shù)據(jù)
我們能將代碼暫存起來,當(dāng)然也能將暫存區(qū)的數(shù)據(jù)刪除,如果在沒有恢復(fù)暫存代碼的時(shí)候不小心將暫存區(qū)的數(shù)據(jù)刪除了該怎么吧?
只需要用這句命令即可:
git log --graph --oneline --decorate $( git fsck --no-reflog | awk ’/dangling commit/ {print $3}’)
找到對(duì)應(yīng)的 id,然后用git stash apply id 命令直接恢復(fù)找回即可
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. python中PyQuery庫(kù)用法分享3. python操作數(shù)據(jù)庫(kù)獲取結(jié)果之fetchone和fetchall的區(qū)別說明4. Ajax實(shí)現(xiàn)頁(yè)面無刷新留言效果5. php5.6不能擴(kuò)展redis.so的解決方法6. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能7. 阿里前端開發(fā)中的規(guī)范要求8. 關(guān)于HTML5的img標(biāo)簽9. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效10. PHP獲取時(shí)間戳等相關(guān)函數(shù)匯總
