1. ホーム
  2. git

[解決済み] 誤ったブランチへのGitプッシュ

2022-09-08 15:21:39

質問

git で作業をしていて、いくつかの 'commit' といくつかの 'push' を行った後、間違ったブランチを使用していることに気づきました!

そこで、何らかの方法で wrong_branch の変更を削除し を削除し、right_branch の変更をコミットしてプッシュしなければなりません。

それを行うための最良の(そして簡単な)方法は何でしょうか?

ありがとうございます。

どのように解決するのですか?

そのブランチに切り替えて git loggit revert といった具合に、それぞれのコミットを個別に変更します。これを実行したら、目的のブランチに戻り、そこで git cherry-pick を使って git refs から特定のコミットを選び、それを正しいブランチにマージします。

git checkout wrong_branch
git revert commitsha1
git revert commitsha2
git checkout right_branch
git cherry-pick commitsha1
git cherry-pick commitsha2

コミットがグループ化されており、ダーティコミットの後にプッシュされたコミットがない場合、さらにそのコミットに対して git reset を使って間違ったブランチを自分のコミットの直前の状態まで持っていき、それをまた git cherry-pick を使って正しいブランチにコミットします。

git checkout wrong_branch
git reset commitsha3 #commit just before commitsha2
git checkout right_branch
git cherry-pick commitsha1
git cherry-pick commitsha2