2017-12-20 7 views
0

数日前、チームメンバーがサーバー上のgit repoでgit元に戻そうとしました。それ以来、変更はにプッシュされているとレポから引き出され、私はgit status開始/終了後に少しでも元に戻す

On branch master 
Your branch is up-to-date with 'origin/master'. 
You are currently reverting commit 1324625. 
(all conflicts fixed: run "git revert --continue") 
(use "git revert --abort" to cancel the revert operation) 

nothing to commit, working tree clean 

を実行すると、基本的に、すべてが今働いている方法はどのようにすべきであるとき私が得るメッセージを解決する方法を思ったんだけど私はこれらのオプションの1つを選択して、それを台無しにしたくありません。

どうすればよいですか?

+1

(a)リポジトリのコピーを作成して、何も失うことがないことを確信できるようにします。(b) 'git revert --abort'を実行し、目標を達成したことを確認します。 (b)がうまくいかない場合は、ここに戻って、結果があなたが望むものとどのように違うかをお知らせください。 – larsks

答えて

1

一般的に、ここから進める方法を決定するには、目標状態を理解する必要があります。

復帰が試行されたのはなぜですか?なぜそれは決して完了しなかったのですか?これらの変更を元に戻すことは依然として求められていますか?それとも、他の変更によって不要/望ましくないことがありましたか?それとも、最初の間違いでしたか?または...?

最後にがコミットした州があなたの望むものであることがわかっている場合は、--abortになります。

あなたのローカル作業コピーがあなたの望むものであることがわかっているなら、おそらくあなたは '--continue'したいと思うでしょう(元に戻す変更はインデックスと作業ツリーにある可能性が高いからです)。

違いを確認する必要がある場合は、git statusを使用してください。元に戻す変更は段階的に表示されます。

本当に正しい結果が得られない場合は、「より安全な」オプションは--continueです。これにより、1つ以上の新しいコミットが作成されます。 を押す前に、新しいコミットで状態をテストすることができます。それが望ましくない場合は、それらをバックアウトすることができます(git reset --hard)。

+0

これは私が探していた答えです。とても有難い。 – jreed

0

larsksのリクエストに応じて、私は自分のリポジトリのコピーを作成し、git revert --abortを実行してメッセージを削除しました。いくつかのテストの後、私は何も失われていないと結論づけ、すべての仕組みが必要であると判断しました。

git revert --abort 

私には影響しないメッセージを削除しました。とにかくあなたのレポをバックアップすることは決して悪い考えではありません;)

+1

「結果はありません」ではありません。それは "この事例ではあなたにとって否定的な結果をもたらすことはありません"です。その結果、復帰操作(矛盾解決のために調整された復帰されたコミットによって行われた変更の逆)に関連する段階的変更が破棄される。 –

+0

清算、マークありがとう。あなたの意見を反映するために私の答えを編集しました。 – jreed

関連する問題