つまりどうやるの?
gitで管理しているとブランチを間違えたりブランチの切り替えをしていない状態で開発をしてしまったりする。
そんなときには、git stashを使って作成してしまった変更を退避させて、ブランチを切り替えてから退避した変更を適用する。
git stashとは?
stashはこっそり隠すとかそういう単語で、Gitではコミットしていない変更を退避して、変更していない頃のワーキングディレクトリに戻すために使う。
git stashのワークフロー
間違えたブランチ上の作業
# 作業 git add -A git stash save git stash list stash@{0}: WIP on wrong_branch: 6a962fa hogehoge git stash branch correct_branch #正しいブランチ名をつけて新しく作る
正しいbranch上での作業
git add -A git commit -m "正しいブランチで作業したよ" # この後はマージするなりプルリク送るなり。 git checkout master git merge correct_branch git push
git stashの覚えておきたいコマンド
git stash list # 退避した変更のリストを表示する git stash show [<stash>] # 退避した変更の中身を確認する git stash drop [<stash>] # 退避した変更(指定する場合はStash名を最後につける)を削除する git stash pop [<stash>] # 退避した変更を適用してstashを削除する git stash apply [<stash>] # 退避した変更を適用する git stash branch <branchname> [<stash>] # <branchname>を指定して新しいブランチを作成してstashを適用する git stash save # 変更を退避する(stashを作成する) git stash clear # 退避を全て削除する