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è)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
SpringBoot集成Hadoop對HDFS的文件操作方法
這篇文章主要介紹了SpringBoot集成Hadoop對HDFS的文件操作方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07關(guān)于Spring?Cloud實(shí)現(xiàn)日志管理模塊
這篇文章主要介紹了關(guān)于Spring?Cloud實(shí)現(xiàn)日志管理模塊問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11SpringBoot數(shù)據(jù)層測試事務(wù)回滾的實(shí)現(xiàn)流程
這篇文章主要介紹了SpringBoot數(shù)據(jù)層測試事務(wù)回滾的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10Java動(dòng)態(tài)編譯執(zhí)行代碼示例
這篇文章主要介紹了Java動(dòng)態(tài)編譯執(zhí)行代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12使用eclipse 實(shí)現(xiàn)將springboot項(xiàng)目打成jar包
這篇文章主要介紹了使用eclipse 實(shí)現(xiàn)將springboot項(xiàng)目打成jar包的流程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07