【Git】git stashの使い方

gitをコマンドで扱うようになってから、リモートにpushした後に
branchを切るのを忘れてそのまま作業してしまうことがしばしばありました。

その際に使えるのが「git stash」というコマンドです。

今回はこの「git stash」の使い方をまとめたいと思います。

git stashとは?

コミットしていない内容を一時的に退避させることができるコマンドです。

どんな時に使える?

①作業中に別のブランチに切り替えたいとき
②作業ブランチを間違えた、もしくはブランチを切り忘れた


このようなときにgit stashを使うことで、作業内容を保存したまま
別のブランチへ移動したり、新たにブランチを切ることができます。

退避させた編集内容は、オプションによってチェックアウトしたブランチへ適用させたり
削除することもできます。

使い方とオプションによる挙動の違い

基本的な使い方は以下の2つのコマンドです。

//ワーキングツリー内の変更内容を退避する(addされていないファイルは対象外)
$git stash

//退避した内容を今いるブランチに適用する(直近の退避内容が適用される)
$git stash apply

オプションを付けずに「git stash」だけを行うと、addされていないファイルは
退避対象に含まれないので、addするか次に説明する「git stash -u」を行いましょう。

その他のオプション

//untracked file(addしていないfile)も含めて変更差分を退避させる
$git stash -u

//退避する内容にコメントを付ける
$git stash save "コメント"

//退避させた内容の一覧を表示
$git stash list

//特定の内容を適用させる(applyの後にstash名を指定する)
$git stash apply stash@{0}

//退避させた編集内容を適用と同時にリストから削除する
$git stash pop

//直近の退避内容を削除
$git stash drop

//番号を指定して削除
$git stash drop stash@{0}

//退避させた内容を全て消す(リストにある内容が全て消える)
$git stash clear


今回は以上になります!

gitコマンドを使いこなせるようになると
作業の効率化に繋がるので今後も調べながら実践していきたいと思います。



↓↓私の師匠、もりけんさんの武骨日記。問題集、要チェック

kenjimorita.jp