0

私の同僚が何とか私のチームが主な開発ブランチに取り組んでいるリリースブランチのHEADリビジョンをプッシュしました。 (これは145コミットが不適切にプッシュされる)Git - プッシュヘッドから間違ったブランチへの大きなコミット履歴を復帰させる

コミットの履歴をきれいにして、何かをする必要がある場合はアイデアを抱いているか、作業を開始するために新しい開発ブランチを作成する必要があります。

枝上に複数のマージが(私たちは、プルリクエストを行うと、Gitはcurrentbranchにマージremote_currentbranchを作成してから)があるので、私は単純に

git revert <last-trusted-sha>..HEAD 

を行うことはできません。

これを簡単に解決する手段はありますか?それとも、修正されるまでコミットするだけですか?

git checkout development 
git reset --hard HEAD~145 
git push -f 

それとも、developmentブランチ上の最後のコミットのSHA-1値を知っていれば前releaseブランチにプッシュされたコミット:

おかげ

+0

あなたの同僚はHEADバージョンの 'release'ブランチを' development'ブランチにどのようにプッシュしましたか?彼はどのコマンドを使用しましたか? –

+0

'git rebase -i'と不要なコミットをすべて削除しますか? –

+0

@ Marina-MSFT私はそれが起こったかどうか不明で、彼らはEclipse EGitプラグインを使用していました。 –

答えて

1

あなたはコマンドの下に使用することができ、development枝を回復するにはdevelopmentブランチには、git reset --hard <last commit>を使用して、git reset --hard HEAD~145というコマンドを置き換えることもできます。その後、developmentブランチが回復されます。

+0

ありがとう、これは私がやったことです。 –

0

これは技術的に解決するのは非常に簡単にする必要があります:

  • は正しい、以前はリストアすることをコミットして下さい。
  • git push origin develop -f

  • git branch develop THEHASH -f
  • は通常、あなたの同僚の尊重のうち、このような何かをしないだろう。しかし、この場合は、すべてが既に破られているので、あなたも同様です。

    git logを使用して簡単に見つけることができない限り、正しいコミットを確認するには、git reflogが役立ちます。

    関連する問題