簡単に言えば、同僚のコンピューターがクラッシュし、最後のプッシュ以降の作業が失われました。最後の手段として、コミットがローカルからオリジンにプッシュされる前に、オリジンがコミットをどの程度認識しているかを考え始めました。オリジンが一時的な場所でこのコミットを追跡している場合、これらのコミットを何らかの方法でコードに戻す方法はありますか?
質問する
52 次
2 に答える
1
origin
プッシュされるまでコミットを認識しません。これは、分散ソース管理システムの「分散」部分に大きく関係しています。これらの「ローカル」な変更は、いつでもどこでも発生する可能性があります。コンピュータがオフラインの間 -push
ステップは、新しい変更についてリモートに通知するプロセスです
于 2012-07-12T01:40:26.667 に答える
1
いいえ。git のリモートは、別のリポジトリからのコミットを 2 つの* メカニズムを通じてのみ「追跡」しfetch
ますpush
。
ローカル ドライブ全体が破損し、レポジトリ内のディレクトリの大部分を復旧できなくなった.git
場合、悲しいことに、通常のドライブ リカバリ方法に制限されます。git はそれ以上のことはできません。ごめん :(
リポジトリがあり、それが悪い状態になったばかりの場合は、git reflog
コマンドが役立ちます。または、より詳細な情報を提供する場合は、オブジェクト データベースの詳細な調査を行うことができます。
*もちろん、これを行うためのメカニズムは他にもありますが、それらはこれらのものと、ボンネットの下にある同等の配管を利用します。
于 2012-07-12T01:44:29.323 に答える