LoginSignup
0
0

More than 3 years have passed since last update.

[Git]コミットしたくないけどブランチ切り替えたい時

Posted at

プログラミング学習をしていて、ブランチを切り替えたいけど今いるブランチに変更履歴が残っていて、ブランチ変更できない!!そんな時はどうするのがいいのかを解決します!

git stashとは

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

stashで変更を退避させて、今すぐやりたい作業をして、退避させていた変更を戻して作業を再開することができます

git stashの使い方

$ git stash 

ワーキングツリー(addしてない状態)、インデックス(addしてる状態)にある変更履歴を退避する。

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

terminal
$ git stash save "comment"

git stashした作業のリストを見る

terminal
$ git stash list

過去によけた作業の一覧はgit stash listで取得できます。

git stashは複数保存もできるのでそのstashしたリストをターミナルに表示されます。

terminal
stash@{0}: On master: マスターブランチにてbookの投稿の作業中
stash@{1}: On develop: デベロップブランチにてmap機能作業中

stash@{1}の部分はstashした順に引数が割りあてられます。
これによってあとでどのstashした内容を戻すのかを指定することができます。

stashしておいた変更履歴を戻す

terminal
git stash pop stash@{引数}

作業はgit stash popを用いて戻すことができます。
作業を止めておいたブランチに戻り、popの後に一覧で見られる戻したい作業の引数を用いてstash@{引数}と記述し、実行します。
ここでその作業ブランチに戻らないと、コンフリクトなど面倒なことが怒るので注意が必要です。!
stashした内容を一気に戻したい時や一つしかstashしてない場合は、git stash popのみで大丈夫です。

例えば、マスターブランチにてbookの投稿の作業中という内容の作業に戻りたい場合は、git stash pop stash@{0}とします。

stashしておいた作業を消す

$ git stash drop stash@{引数}

stash内容を全て消す

git stash clear

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

何か間違っていること等あればよろしくお願いいたします。

0
0
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
0
0