IDEA:Git stash 暫存分支修改的實(shí)現(xiàn)代碼
當(dāng)我們正在master分支開(kāi)發(fā)新功能的時(shí)候,突然接到一個(gè)任務(wù)發(fā)現(xiàn)線上出現(xiàn)了一個(gè)緊急的BUG需要修復(fù),由于沒(méi)有打新分支做這部分新需求,這時(shí)正做到半途中....已經(jīng)把本地代碼修改得花里胡哨了,該怎么辦,有什么辦法快速解決嗎?
這時(shí)Git stash這個(gè)非常實(shí)用的功能就派上用場(chǎng)了,將本分支的修改暫存起來(lái)。
涉及到的幾個(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出來(lái)并刪除stash記錄,還原到stash隱藏之前
5、git stash apply id:恢復(fù)暫存的文件,和git stash pop功能一樣,先通過(guò)git stash list找到記錄編號(hào),通過(guò)編號(hào)id恢復(fù)。區(qū)別在于git stash apply id不會(huì)刪除stash記錄。
實(shí)際中還原后就沒(méi)什么必要在保存stash記錄了,推薦直接用git stash pop就OK了。
IDEA 也可以用可視化界面直接操作:右鍵project > git > repository
拓展:找回清除的 stash 數(shù)據(jù)
我們能將代碼暫存起來(lái),當(dāng)然也能將暫存區(qū)的數(shù)據(jù)刪除,如果在沒(méi)有恢復(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. 概述IE和SQL2k開(kāi)發(fā)一個(gè)XML聊天程序2. XML入門(mén)精解之結(jié)構(gòu)與語(yǔ)法3. XML解析錯(cuò)誤:未組織好 的解決辦法4. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)5. 利用CSS3新特性創(chuàng)建透明邊框三角6. XML入門(mén)的常見(jiàn)問(wèn)題(一)7. HTML5 Canvas繪制圖形從入門(mén)到精通8. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera9. HTML DOM setInterval和clearInterval方法案例詳解10. XML入門(mén)的常見(jiàn)問(wèn)題(二)
