EnsekiTT Blog

EnsekiTTが書くブログです。

GitでBranchを間違えて作業をしちゃった時、正しいBranchに作業を反映する話

スポンサーリンク

つまりどうやるの?

git stashを使って変更を退避させて、Branchを切り替えてから退避した変更を適用します。
f:id:ensekitt:20180507022538j:plain

git stashとは?

stashはこっそり隠すとかそういう単語で、Gitではコミットしていない変更を退避して、変更していない頃のワーキングディレクトリに戻すために使う。

git stashのワークフロー

間違えたbranch上の作業

# 作業
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 # 退避を全て削除する
クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。