【git stash】作業途中で現在のブランチをコミットしないでブランチを移動してみる。

はい、今回は作業途中で別のブランチに移動する動作をGitで行いたいと思います。

別ブランチに移動したいけど、今のブランチはコミットしたくない!

そんなときに使えるコマンドstashを紹介します。

qiitaを参考にしました。

伝えたいこと: git stashの使い方

どんな状態でstashを使うと良いのか、どんな風に使うのかというのがわかるのがこの記事の目的となっています。

全ては触って覚えろなんで進めていきましょう~

課題: 現ブランチはコミットしたくないけど、緊急で別ブランチに用事がある

今回の課題は以下の通りになります。

  • 現在作業中のブランチAがある。
  • Aは途中なのでコミットをしたくない。
  • Bブランチに用事があるので切り替えたい。

だけどどうしたらいいいの~~~~~~

ってなります。

そう。コミットしなくて良い方法があるんです!それを紹介していきます。

解決方法: git stash

使い方

git stashコマンドを使えばこの問題は解決できます。

どんなコマンドなのかというと、

コミットせんと一旦置いといて~
違うブランチいじってくるわー

というときに使えるコマンドなんです。

では使ってみましょう。

$ git stash Saved working directory and index state WIP on {現ブランチ名ランチ名: xxxxxx Merge branch 'dev' into {現ブランチ名ランチ名
Code language: JavaScript (javascript)

できた!そしたらログを見てみよう。

$git stash list stash@{退避リスト番号'dev' into {stashしたブランチ名
Code language: PHP (php)

これで「ほい、いったん置いておいたから好きなとこ行っておいでー」っていう状態になっているようですね。

ではブランチを移動して作業しましょう。


そこから!

どうして戻すのかというと。

//退避リスト番号を確認 $ git stash list //退避リスト番号を指定して戻す。 $ git stash apply 退避リスト番号
Code language: PHP (php)

これでOKです!

もし用事がもうなければstashも消しておきましょう。

//退避リストを全て削除 $ git stash clear
Code language: JavaScript (javascript)

注意点

stashコマンドだけだとuntracked fileは退避されないので、以下コマンドを使いましょう。

$ git stash -u

退避リストが増えてくるようならコメントも入れた方がわかりやすいので以下コマンドを使いましょう。

$ git stash save "メッセージ"
Code language: JavaScript (javascript)

こんな感じでOKだと思います!

まとめ

結局何事も使っていく、試していくうえで疑問が出てくるので調べていくのがよいな。

と思っています。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA