5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Git】 git stashについて簡単まとめ

Last updated at Posted at 2019-04-04

git stashは今やっている作業を一旦止めて、他の作業に移りたいというときに用いられます。
仕事をしていて、そのような場面に出くわすことが多くなりました。
その度に『これどう書くんだったけ…?』と汚い手書きメモを見返すのが面倒になったので、まとめておきます。

git stashとは

git stashとはGitで作業を一時的に避難させておくことができる機能です。

例えば、Aというブランチでバグの修正をしていたところ、「こっちの修正を先にお願い!」と言われました。
そのため、割り込んできた修正作業をBブランチですることにしました。
しかしAブランチでの作業がやりかけなので、残しておきたいです。

この時に用いるのが、作業を一旦退避することができる、git stashです。

git stashの使い方

現在の作業を一時的によけておく

$ git stash save

最終コミットから、現在までの作業を一旦まとめて保存してよけておくことができます。

作業の内容を記載して保存する

$ git stash save "message"

saveのあと"message"をつけると、作業の内容をメモしておくことができます。
『このよけたものはどんな作業していたときのものだっけ…?』とあとでなるのを防いでくれます。

よけておいた作業のリストを見る

$ git stash list

一旦おいておいた作業はひとつだけではないかもしれません。
過去によけた作業の一覧はgit stash listで取得できます。

stash@{0}: On branchB: B作業途中
stash@{1}: On branchA: A作業途中

コマンドを実行すると上記のように一覧が表示されます。
一番左では作業ごとに0, 1…と引数が割り振られます。

よけておいた作業を戻す

git stash pop stash@{引数}

横においておいた作業はgit stash popを用いて簡単に戻すことができます。
作業を止めておいたブランチに戻り、popの後に一覧で見られる戻したい作業の引数を用いてstash@{引数}と記述し、実行します。

stash@{0}: On branchB: B作業途中
stash@{1}: On branchA: A作業途中

例えば、A作業途中という内容の作業に戻りたい場合は、git stash pop stash@{1}とします。

よけておいた作業を消す

$ git stash drop stash@{引数}

横においておいた作業を消したいときはgit stash dropを用います。
消したい作業の指定方法はgit stash popと同じです。

作業を全て消す

git stash clear

一覧にある全ての作業を消したいときは、git stash clearを使用します。

以上がgit stashについての簡単なまとめです。

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?