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í)用的功能就派上用場了,將本分支的修改暫存起來。
涉及到的幾個(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找到記錄編號,通過編號id恢復(fù)。區(qū)別在于git stash apply id不會刪除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}’)
找到對應(yīng)的 id,然后用git stash apply id 命令直接恢復(fù)找回即可
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法2. php過濾器使用詳解3. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對象Application和Session)4. Javaweb工程運(yùn)行報(bào)錯(cuò)HTTP Status 404解決辦法5. ElementUI下拉框選擇后不顯示值問題及解決6. UDDI FAQs7. 使用純HTML的通用數(shù)據(jù)管理和服務(wù)8. 解析原生JS getComputedStyle9. ASP中實(shí)現(xiàn)字符部位類似.NET里String對象的PadLeft和PadRight函數(shù)10. PHP循環(huán)與分支知識點(diǎn)梳理
