🙄
知らないとヤバイ‼️git stashの使い方
stashとは
stashとは作業中にコミットをしたくない時、あるいは作業中に別のブランチに移動しなければいけない時に使います。
「変更を一時退避する処理」
ということですが、これは一時的に別の空間に保存しておくイメージです。
作業に戻ってきた時に、まだ作業の途中からスタートできます。
git stash save(退避)
stashして一時退避するコマンドは
git stash save
でokです。しかしこれだと「どんな退避か、なぜ退避したか」がわからなくなってしまいます。そのために
git stash save "任意のメッセージ"
でメッセージを書いておくと、「どんな退避か、何のための退避か」わかるようになります。
git stash list
stashした内容を確認できるコマンドです。
taro% git stash list
stash@{0}: WIP on (no branch): 〇〇 # This is a combination of 5 commits. # This is the 1st commit message:
stash@{1}: WIP on main: 〇〇 Merge pull request #973 from 〇〇
stash@{2}: On issue-1: 一時退避
stash@{3}: On issue-2: 別の作業のため退避
みたいな感じになります。
メッセージの内容は以下です。
「stash@{番号}」: On 「ブランチ名」: 「メッセージ」
stashができたら別の作業にも入れる
stashが成功すれば違うブランチで作業ができます。
作業中にstashしないで、コミットを出すとstashかコミットしろやーみたいなエラーが出てきます。
git stash apply(復旧)
stashの復旧作業にはstash applyコマンド
を使います。
git stash apply 復旧したいstash名
具体的なコマンドをあげると
git stash apply stash@{0}
で復旧できます。
git stash drop(削除)
stashの削除作業にはstash drop
を使います。
削除したいstashは下のコマンドみたいな感じで削除します。
git stash drop stash@{1}
資料
Discussion