Git

git stashで一時退避させた内容を削除する方法3選

Github

 

今回はgit stashで一時退避させた内容を削除する方法を3つ紹介したいと思います。git stashした内容は意識的に削除を行わないとstashリストとして溜まってしまい、動作環境が遅くなるといった弊害が出てきてしまいます。ぜひこの機会にgit stashで退避した内容の整理を行いましょう。

git stashとは

git stashとは、コミットせずに変更を一時的に退避することができるコマンドです。

「あるブランチで作業中だけど、急遽他のブランチでの作業が必要になった。だけどコミットはしたくない、コミットするほどの内容でもない」といった場面で使えます。

退避内容の削除方法3選

git stash drop

git stash dropは指定した退避内容を削除することができるコマンドです。

% git stash list
stash@{0}: WIP on master: e77c180 initial commit
stash@{1}: WIP on master: e77c180 initial commit
stash@{2}: WIP on master: e77c180 initial commit
stash@{3}: WIP on master: e77c180 initial commit

% git stash drop stash@{2}
stash@{0}: WIP on master: e77c180 initial commit
stash@{1}: WIP on master: e77c180 initial commit
stash@{2}: WIP on master: e77c180 initial commit

git stash pop

git stash popは指定した退避内容を戻すと同時に削除もできるコマンドです。

% git stash list
stash@{0}: WIP on master: e77c180 initial commit
stash@{1}: WIP on master: e77c180 initial commit
stash@{2}: WIP on master: e77c180 initial commit
stash@{3}: WIP on master: e77c180 initial commit

% git stash pop stash@{3}
stash@{0}: WIP on master: e77c180 initial commit
stash@{1}: WIP on master: e77c180 initial commit
stash@{2}: WIP on master: e77c180 initial commit

git stash clear

git stash clearとは退避内容を一括削除することができるコマンドです。

% git stash list
stash@{0}: WIP on master: e77c180 initial commit
stash@{1}: WIP on master: e77c180 initial commit
stash@{2}: WIP on master: e77c180 initial commit
stash@{3}: WIP on master: e77c180 initial commit

% git stash clear
=> なし

git stashする際はメッセージを付けよう

そのままgit stashしてしまうと前回のコミットメッセージが表示され、一体何の退避内容なのか分からなくなります。そのような事態を避けるため、git stashを行う際はメッセージを付けるように心がけましょう。

% git stash save 'テストテストテスト'

% git stash list
stash@{0}: On master: テストテストテスト

まとめ

  • git stashとは、コミットせずに変更を一時的に退避することができるコマンド
  • git stash dropは指定した退避内容を削除することができるコマンド
  • git stash popは指定した退避内容を戻すと同時に削除もできるコマンド
  • git stash clearとは退避内容を一括削除することができるコマンド

参考

サル先生のGit入門

 

今回はgit stashで一時退避させた内容を削除する方法を3つ紹介しました。今回紹介した3つの削除方法を参考に、git stashで退避させた内容を定期的に見直してみてください。