作業ブランチ間違えた!git stashで退避の使い方まとめ
あ。作業ブランチ間違えた!git stashで退避の使い方まとめ
忘れてしまいがちなgit stash
commit checkout add が利用頻度高いgitのコマンドかな。
私はその次によく使うコマンドがgit stashでして、
ッアー!作業ブランチ間違えたー!
っていう時に使えます。
stashをして変更分を退避して移動したブランチでcommitをする
STEP1:git stashで一時退避
git stash
or
git stash save "message"
git stashだけでも良いですが、stashに名前をつけて複数 退避させたコードがあると管理しやすいです
STEP2(1):checkoutして退避したコードをマージ
git stash popで最後に退避させたコードをマージすることができます。
git checkout your-branch-name
git stash pop
git stash pop
STEP2(2):stash番号を指定して退避したコードをマージ
最新の退避コードではなく、複数の退避させたコードのうち、番号または名称を指定してマージする方法です
stash一覧を確認
git stash list
stash@{0}: WIP on your-branch-name3: 652br4e あああああ
stash@{1}: WIP on your-branch-name2: wwde12e いいいいい
stash@{0}: WIP on your-branch-name3: 652br4e あああああ
stash@{1}: WIP on your-branch-name2: wwde12e いいいいい
stash番号を指定してマージ
git stash pop stash@{1}
基本的な使い方は、stashして退避させ、正しいブランチに移動してからstash pop で退避したものを戻します。
その他使いどころとして、まだ実装方法が明確に決まっていない時に仮で作ったものを一時的にとっておくという使い方もできますね。
その他 stashの使い方
退避コード一覧
git stash list
以下コマンドの【】の中はlistで表示されたstash番号を指定
退避のファイルの一覧
git stash show 【stash番号】
例
git stash show stash@{0}
退避の変更内容を表示
git stash show -p 【stash番号】
(git diffのように表示される)
退避の削除
//全削除
git stash clear
//全削除
git stash drop 【stash番号】
git stash clear
//全削除
git stash drop 【stash番号】
例
git stash drop stash@{0}