武漢做網(wǎng)站報價山西網(wǎng)絡(luò)推廣
目錄
- 基本概念
- 參數(shù)詳解
- list
- show
- save
- push
- pop|apply
- drop
- clear
- branch
- 參考文章
Git的stash命令是一個非常實用的功能,它允許開發(fā)者臨時保存工作目錄和暫存區(qū)的更改,以便能夠切換到其他分支或進(jìn)行其他操作,而不會丟失當(dāng)前的修改。以下是git stash的詳細(xì)解析:
基本概念
- 工作目錄:當(dāng)前開發(fā)者正在工作的目錄,包含了所有已修改但尚未提交的文件。
- 暫存區(qū)(Staging Area):也稱作索引(Index),是提交前的一個臨時區(qū)域,用于存放將要被提交的更改。
- Stash:一個用于臨時存儲工作目錄和暫存區(qū)更改的棧(Stack)。
參數(shù)詳解
list
語法 git stash list [<options>]
,與git log功能類似,列出儲藏列表,options 參數(shù)可以參考git log的參數(shù)
show
語法 git stash show [<options>] [<stash>]
,和git show功能類似
save
語法 git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [<message>]
,
- 將本地更改保存到新的儲藏隊列,
[-p|--patch]
以patch模式提交,允許選擇需要保存的塊,具體參考git add的–patch模式[-k|--[no-]keep-index]
[不]保留 index 序號[-q|--quiet]
靜默執(zhí)行,即不顯示結(jié)果[-u|--include-untracked]
儲藏時包括未跟蹤的文件[-a|--all]
儲藏所有文件,包括忽略的文件
建議使用push代替save
push
push可以講其中幾個文件貯藏
語法 git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [-m|--message <message>] [--] [<pathspec>...]]
- 將本地修改保存到新的儲藏隊列,用法與save基本一致,多了
[--] [<pathspec>...]
可選參數(shù) [--] [<pathspec>...]
使用路徑匹配,只有路徑匹配下的文件會被儲藏,通常用于儲藏部分文件- push選項可以被省略,以便快速保存,省略push時,不能使用參數(shù)
pop|apply
語法 git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
,取出指定的隊列,默認(rèn)取出最新的隊列,pop與apply的區(qū)別在于,pop在取出隊列后會刪除stash中的隊列,apply則不會刪除
在vs 中對應(yīng)關(guān)系如下:
pop=彈出->應(yīng)用當(dāng)前貯藏并刪除
appy=應(yīng)用->僅應(yīng)用
drop
語法 git stash drop [-q|--quiet] [<stash>]
,刪除某個儲藏隊列,默認(rèn)刪除最新的儲藏隊列
clear
語法 git stash clear
,刪除所有儲藏
branch
語法 git stash branch <branchname> [<stash>]
,使用某個儲藏隊列建立分支,同時刪除該隊列
[<stash>]
指stash隊列的名稱,形式為stash@{id}
參考文章
- git stash參數(shù)介紹
- git stash操作