私はライオンというブランチに取り組んでいますが、誤ってこれを行いました:
git push origin lion:master
それ以外の
git push eng lion:master
基本的に、2 行目はライオン ブランチをステージング Heroku アプリにプッシュするためのものですが、誤ってすべてのコードをオリジン マスターにマージしてしまいました。
どうすれば元に戻せますか? 私のブランチには約200のコミットがあります。
グレッグ
私はライオンというブランチに取り組んでいますが、誤ってこれを行いました:
git push origin lion:master
それ以外の
git push eng lion:master
基本的に、2 行目はライオン ブランチをステージング Heroku アプリにプッシュするためのものですが、誤ってすべてのコードをオリジン マスターにマージしてしまいました。
どうすれば元に戻せますか? 私のブランチには約200のコミットがあります。
グレッグ
他の誰もまだ行って新しい変更を取得していないと仮定します。
origin
1)リポジトリに直接アクセスできる場合はgit reset --hard <commit ID>
、関連するブランチで a を実行できますorigin
。
git push -f
2) または、おそらく古いコミット ID を使用して実行することもできます。
コマンド「gitreset」はオプションのcommit引数を取ります。したがって、オリジンリポジトリにアクセスできる場合は、次のことを試すことができます。
git reset [--soft | --mixed] <last-good-commit> # in the remote/origin repository
リポジトリにアクセスできない場合は、次のことができるはずです。
git checkout -b rework <last-good-commit>
git push origin rework:master # The push merge will produce a commit that works back to <last-good-commit>