2017-05-05 19 views
0

リモートブランチを自分のローカルリポジトリにマージし、26のローカルコミットを作成しました。最後のローカルコミットを元に戻し、リモート状態に戻すには?

ここでは、このマージを元に戻したいが、コミットを1つ戻したり、リモートバージョンの最後のコミットを元に戻したりするのはかなり退屈でエラーに敏感だと思う。

回答は非常に面白い投稿How to undo last commit(s) in Git?に行ってきましたが、ローカル復帰を行う簡単な方法が見つかりませんでした。

誰でも手伝いできますか?

答えて

1

使用Gitのログ& Gitは

git log 

をリセットこれはあなたのコミットIDを識別することができ、それを通してメッセージを表示してIDをコミットを行います。

コミットIDを使用して元に戻します。

git reset <commit-id> 

このコミットに恒久的に戻る場合は、以下を使用することができます。

git reset --hard <commit-id> 
+0

(...汚れた部分ということ)を知りません'git reset -hard origin/master'を実行して、前回あなたがそのリモートに話をしたときに、元のリモートのマスタに戻って元に戻すことができます。 –

+0

@ LasseV.Karlsen OPがorigin/masterと言わず、ローカルブランチが同期していたので、origin/masterが同じコミットIDを持つと仮定することは有効ではないかもしれません。 – harshitpthk

+0

okですが、私はcommid idsを使わずに解決策を探していました。**私のローカルブランチに**合併するので、私の目的はこの正確なブランチのリモート状態に戻ることです。 @Lasse V. Karlsen @「Lasse V. Karlsen」 – geekobi

0

私は、1つまたは2つのものを試してみましたが、この1つは少し汚れているが、それは簡単で、動作しているようです:別のブランチへ

  • チェックアウト(なし場合は作成):git checkout -b tempo
  • git checkout -b dirty_one origin/dirty_one
git branch -D dirty_one
  • はリモート1と同期ローカルブランチを再作成:
  • は悪いローカルブランチを削除します

    とそれだけです。

    悪いローカルコミットはまだローカルリポジトリにありますが、ブランチはそれらを知らないので隠されたままになる可能性があります。

    私は(私が実際に行っている)私のマージをやり直す場合は、マージがちょうどうまく動作しますが、私はあなたが枝にリセットすることができます正確にどのように

  • 関連する問題