[Git]VCS ~ Git - stash

看見別人在用 stash,而自己之前沒有用過,于是查探一番后,終有此文

一、作用

  • 把所有未提交的修改(包括暫存的和非暫存的)都保存起來,用于后續(xù)恢復(fù)當(dāng)前工作目錄,而不再 git log 中產(chǎn)生記錄;
    • 注意,stash 操作是本地的,不會通過 git push 命令傳輸?shù)搅硪慌_ Git 上;

二、原理

  • Git 內(nèi)部維護一個緩存棧,每次緩存的是換貨就會入棧,需要恢復(fù)的時候直接彈出或者 peak 即可;

二、用法

  1. 保存,建議添加消息
    git stash[ save "<your-message>"]
    
    • 默認(rèn)情況下,git stash會緩存下列文件:
      • 添加到暫存區(qū)的修改(staged changes)
      • Git跟蹤的但并未添加到暫存區(qū)的修改(unstaged changes)
    • 但不會緩存一下文件:
      • 在工作目錄中新的文件(untracked files)
      • 被忽略的文件(ignored files)
    • git stash命令提供了參數(shù)用于緩存上面兩種類型的文件。使用-u或者--include-untracked可以stash untracked文件。使用-a或者--all命令可以stash當(dāng)前目錄下的所有修改。
  2. 應(yīng)用緩存
    • 應(yīng)用并刪除最近緩存的文件信息
      git stash pop
      
    • 獲取棧頂緩存的文件信息:這種方式緩存不會出棧,只會獲取棧頂緩存
      git stash apply
      
  3. 查看存儲列表(存儲棧中的所有元素)
    git stash list
    
  4. 刪除某個存儲元素
    git stash drop <stash-name>
    
    • <stash-name>指的是在 list 中每條記錄中,冒號前面的部分;
  5. 查看指定stash的diff
    git stash show[ -p | --patch ]
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,881評論 1 26
  • 簡介 Git是一個開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目。 Git 與常用的版本控制工具 ...
    閩越布衣閱讀 2,875評論 0 18
  • 查看、添加、提交、刪除、找回,重置修改文件 git help # 顯示command的help git sho...
    Swiftor閱讀 2,216評論 0 2
  • 一、基本概念: 注:對于git的分布式概念及其優(yōu)點,不重復(fù)說明,自己百度或谷歌。本文中涉及到指令前面有$的,在cm...
    大廠offer閱讀 1,562評論 0 3
  • 寄詩別院賒秋色;月待圓時花正好;葫蘆聲起為誰吟;尊師可敬銘我心;
    娟好_靜秀閱讀 189評論 0 0

友情鏈接更多精彩內(nèi)容