git_stash
Stash
- 変更をコミットせず、一時的に退避させておく機能
基本的な退避
git stash
- 変更差分を退避させる
- 追跡対象外ファイルは退避されない
-u
(–include-untracked
)を付けると追跡対象外ファイルも退避できる-k
(–keep-index
)を付けるとステージングされていないファイルのみ退避する
コメントを付けた退避
git stash save "<コメント>"
- コメント付きで変更差分を退避させる
WIP on master: 759e002 init
のように見分け辛いため、コメントを付けた方が分かりやすい
一覧表示
git stash list
- 退避させた変更を一覧表示する
stash@{0}
のように、インデックス付きで表示される- 退避の仕組みはスタック
取り込み
git stash apply stash@{n}
- 退避させた内容を取り込む
n
にインデックスを指定する- 取り込んだ内容は消えない
- なお、ステージングされたファイルも解除される
–index
を付けることでステージングされたファイルはそのまま取り込める
- コンフリクトはマージと同じ要領で発生するため、winmergeなどで解消する
ポップ
git stash pop stash@{n}
- 使い方は
apply
と同じ - ポップのため、取り込んだ内容は消える
削除
git stash drop stash@{n}
- 退避させた内容を削除する
全削除
git stash clear
- 退避させたリストを全削除する
退避内容の確認
git stash show stash@{n}
- 変更ファイルの一覧を確認できる
-p
を付けることで詳細を確認できるdiff
に近い内容が表示される
-
- stashの原典
git_stash.txt · 最終更新: 2021/06/15 22:55 by 127.0.0.1