Corredor

ウェブ、プログラミングの勉強メモ。

Git Stash を使う

Git を使っていて、コミットはしないけどブランチ切り替えとかでローカルの変更を退避したい。そんなときには git stash コマンドを使う。

# ローカルのコミット前の変更を保存する (どっちでも同じ)
$ git stash
# (こっちでも同じ)
$ git stash save

# 保存されている Stash の一覧を確認する
# Stash の名前は「stash{0}」などと振られていることが分かる
$ git stash list
# Diff 付きで確認するには -p オプション
$ git stash list -p

# Stash に含まれるファイル名などを確認する
# ココでは「stash{0}」を確認する例
$ git stash show stash{0}

# Stash 一覧から指定の Stash を取り出してローカルに反映し直す
# 一覧には当該 Stash が残ったままになる
$ git stash apply stash{0}

# Stash 一覧から指定の Stash を消す
$ git stash drop stash{0}

# 指定の Stash を取り出してローカルに反映し、一覧から消す
# (apply と drop を同時に行う)
$ git stash pop stash{0}

基本は

  • git stash で保存し、
  • git stash list で Stash の名前を確認し、
  • git stash pop stash{0} でローカルに反映し直す

という使い方になるかと。覚えてしまえば便利。

エンジニアのためのGITの教科書 (WEB Engineer’s Books)

エンジニアのためのGITの教科書 (WEB Engineer’s Books)

  • 作者: 株式会社リクルートテクノロジーズ,株式会社リクルートマーケティングパートナーズ,河村聖悟,太田智彬,増田佳太,山田直樹,葛原佑伍,大島雅人,相野谷直樹
  • 出版社/メーカー: 翔泳社
  • 発売日: 2016/01/20
  • メディア: 大型本
  • この商品を含むブログ (3件) を見る