0
0

More than 1 year has passed since last update.

【Git】stashコマンド:checkoutし忘れて変更を行ってしまった場合

Posted at

checkoutをし忘れて変更を行ってしまったときに

自分がよくやらかすので、備忘録として。。。

以下のようなときに使いこなせると便利

  • 実装した内容をまだ作成していないブランチに移動させたい
  • 作業途中だけど少しだけ別のブランチに移動したい

実装した内容をまだ作成していないブランチに移動させたいとき

  1. git stashで変更を退避
  2. ブランチを作成しcheckout
  3. git stash listで復元したい退避内容を探す
  4. git stash apply stash@{0}で退避内容の復元を行う(stash@{0}は手順3で探した復元したい退避)
  5. 最後に退避情報が不要となった場合はgit stash drop stash@{0}で削除する
$ git stash

$ git checkout {移動先のブランチ}

$ git stash list
stash@{0}: WIP on hogehoge: 1234567 fugafuga

$ git stash apply stash@{0}

$ git stash drop stash@{0}

stashまとめ(よく使うコマンド)

① git stash

追跡中の変更を退避する
以下のようにsaveを付けるとメッセージ付きにできるのでわかりやすくなる

git stash save "stashメッセージ"

② git stash -u

untrackedファイルも含めて退避する
→新しいファイルなどを作成した時はこっち

③ git stash list

退避の一覧を確認する
→退避内容を探す場合に使う

④ git stash pop

最新の退避を復元し退避情報を削除する
→退避情報が削除されるので注意

⑤ git stash apply

最新の退避を復元し退避情報も残す
→いきなり削除されるのは怖いので個人的にはこっちが好み

⑥ git stash apply '退避番号(stash@{3})'

指定した退避番号の内容を復元し退避情報も残す
→連続で退避を行ってブランチを移動しまくっているときとかに使える?

⑦ git stash drop

最新の退避情報を削除する

⑧ git stash drop '退避番号(stash@{3})'

指定した退避番号の退避情報を削除する

⑨ git stash clear

全ての退避情報を削除する

⑩ git stash show

最新の退避との差分を確認する

⑪ git stash show -p

最新の退避との差分を確認する(詳細バージョン)

⑫ git stash show '退避番号(stash@{3})'

指定した退避番号との差分を確認する

参考

【Git】stashコマンドのまとめと使い方 〜変更差分の一時退避〜

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