2012-04-23 3 views
1

githubからプロジェクトをクローンしました。プロジェクトにはすべてうまくいっています。私は満足しています。Gitロールバックで前のチェックアウト

しかし、いくつかのgitを取得した後、私は私のプロジェクトで、上流プロジェクトの新しいコミットといくつかの競合を受けます。

私は前のチェックアウトにロールバックしたいが、私はどの安定したチェックアウトが自分のプロジェクトで以前にあったのかわからない。

どのように私はそれを知ることができ、前の安定した(私のための)プロジェクトチェックアウトにロールバックできますか?私は上流のrepoとの私の競合を修正するためのより正確な方法を考えているが、問題を解決するための時間を得るために、以前のバージョンにロールバックする必要があることを理解している。

+0

以前のバージョンをチェックアウトする方法を知っているかどうかはわかりません。表示されない場合はhttp://stackoverflow.com/q/1223354/11343をご覧ください。 – CharlesB

答えて

2

あなたが実行できるとどれが「安定点」を説明するコマンド/スクリプトを使用している場合(それが動作していない現在の状態とは対照的に、つまり、何かの作業は、)、そして、あなたはgit bisectコマンドを考慮することができます。
How to use git bisect?」を参照してください。

これは、「動作していた」最後のコミットを分離するのに役立ちます。

+0

+1ですが、Gitの初心者ユーザー向けに少し進歩しているかもしれませんか? – CharlesB

+0

最近は既知の点があったので、一番上を見ているようです。 – Ashe

+0

@CharlesB確かに、それを使用する方法を説明するリンク。とにかく、コミットがかなり最近のものであれば、他の答えがより適切と思われます。 – VonC

0

あなたはすでにマージをコミットしましたか?そうでない場合はgit reset --hardとなり、git pullを発行する前の状態に戻ります。それ以外の場合、git reset --hard HEAD^(マージが最後のコミットだった場合)は、gitがデフォルトで常にブランチであるマージコミットの最初の親を選択するので、トリックを行います。疑わしい場合は、いつでも、たとえばgitk状況を調べ、ブランチの最後のコミットを見つけ、そのSHA1ハッシュをコピーして元に戻します。

1

git reflogは、操作の順序を教えてください。最初のプル/マージの前に操作されたコミットIDを探します。 checkoutまたはreset --hardです。

関連する問題