未来エンジニア養成所Blog

月単価180万以上のプログラミング講師がプログラミングを皆に楽しんでもらうための情報をお届けします。

【Git&GitHub】避難した作業を削除する(git stash dropコマンド)

title


避難した作業を削除しよう

今回は一時避難した作業を削除する方法について解説します。


一時避難した作業を削除するコマンドは

$ git stash drop

になります。

「git stash drop」とすることで、最新の一時避難した作業を削除することができます。


もし特定の作業を削除したい場合は

$ git stash dorp [スタッシュ名]

と入力します。


例えば

$ git stash drop stash@{1}

と入力します。


もし、たくさんstashした作業があって、一個一個作業していくのは面倒なので、全部の避難した作業を削除したいという場合は

$ git stash clear

というコマンドを使います。


それではイメージで確認していきましょう。

stash


今の状況として、避難した作業が2つあるとします。

この状況で「git stash drop」コマンドを使うと一番最新の避難した作業がされます。

drop1回目


そしてもう一度「git stash dorp」コマンドを使うと次に避難した作業が削除されます。

drop2回目


このように「git stash dorp」コマンドを使うことで、避難した作業(stashした作業)を削除することができます。


実際にやってみよう

それではターミナルで確認していきましょう。


まず、避難した作業が今どれくらいあるのか確認します。

$ git stash list
stash@{0}: WIP on main: 55c46b4 third.htmlを追加

すると、1つ避難した作業があることがわかります。


それではこちらの避難した作業を削除していきます。

$ git stash drop
Dropped refs/stash@{0} (e3bbe0f33d83a419421ad8621fc2d7b7f104940d)

するとdropしたよ(削除したよ)と表示されます。


では、本当に削除されたのか確認してみましょう。

$ git stash list

すると何も表示されません。


このように「git stash dorp」コマンドを使うことで削除することができました。


今回の内容としてはここまでなのですが、最後にワークツリーの状況をお掃除しておきましょう。


今変更している作業があるので、そちらの変更内容を確認してみます。

$ git status
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   home.html

no changes added to commit (use "git add" and/or "git commit -a")

すると「home.html」が変更されていることがわかります。


では、この変更を取り消しておきましょう。

$ git checkout home.html
Updated 1 path from the index

これで変更が無かったことにできました。


一応「git status」コマンドで確認しておきましょう。

$ git status
On branch main
nothing to commit, working tree clean

すると、何も変更がないよと表示されました。


これでお掃除完了です。


ここまでで「git stash」の一通りの内容を押さえてきました。

「git stash」コマンドは今作業中で急遽別の作業をしないといけない時(特にバグフィックスとか)に使うととても便利なので、是非使って見てください。


参考図書



独学で挫折しそうになったら、オンラインプログラミングスクール
未来エンジニア養成所Logo