ユーザ用ツール

サイト用ツール


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.txt · 最終更新: 2021/06/15 22:55 by 127.0.0.1