gitリセット後にコードを取得する方法

WBOY
リリース: 2023-05-20 10:48:11
オリジナル
5370 人が閲覧しました

Git をバージョン管理に使用するプロセスでは、誤操作によりコードが失われる可能性があります。その 1 つは、git replace コマンドを使用してコードを過去のバージョンにロールバックすることです。過去のバージョンにロールバックすると、最新のコードが上書きされ、タイムリーなバックアップがなければ、コードのこの部分は永久に失われます。では、このようなことが起こった場合、失われたコードをどのように取得すればよいのでしょうか?

  1. git reflog コマンド

git reflog コマンドを使用して、現在のウェアハウスで実行されたすべての操作記録を表示します。 commitcheckoutreset およびその他の操作。 git replace コマンドを使用すると操作レコードが生成されるため、git reflog コマンドを使用して、どの履歴バージョンに到達したかを確認できます。具体的な操作手順は次のとおりです:

  • コマンド ライン ツールを開き、コードが保存されているディレクトリを入力します;
  • git reflog コマンドを実行します。すべての操作レコードが表示されます ;
  • 履歴バージョンへのロールバックの操作レコードの SHA 値をコピーします;
  • git restart コマンドを実行しますコードを指定された履歴バージョンに復元します。

git replace コマンドを使用してコードを復元する場合は、コードが正しい過去のバージョンに復元されていることを確認する必要があることに注意してください。そうしないと、さらに多くのコードが失われます。 。

  1. git fsck コマンドを使用します。

git fsck このコマンドは、コミットを含む Git データベース内のすべてのオブジェクトをチェックできます。レコード、ブランチ、タグなどは、未使用または紛失したオブジェクトを検索し、これらのオブジェクトの SHA 値を出力します。誤操作によりコードが消失した場合、一部のオブジェクトが誤って削除された可能性もあります。 git fsck コマンドを使用して、これらの失われたオブジェクトを見つけて復元します。具体的な手順は次のとおりです:

    コマンド ライン ツールを開き、コードが保存されているディレクトリを入力します;
  • git fsck --full
  • を実行します。コマンドで Git データベースを確認し、失われたオブジェクトを見つけます。失われたオブジェクトが Git データベースに存在する場合は、
  • git cat-file -p
  • コマンドを実行して出力します。オブジェクトを出力します;出力されたオブジェクトがコミット レコードの場合は、
  • git merge
  • コマンドを実行して、現在のブランチにマージします。印刷されたオブジェクトがファイルである場合は、 git cat-file -p <SHA> > filename コマンドを実行して、ファイルをローカルに復元します。
  • データ復旧に git fsck
  • コマンドを使用する場合は、失われたオブジェクトをできる限り確認する必要があることに注意してください。誤用によって Git データベースの整合性の問題が発生した場合は、Git データベース修復ツールを使用して修復する必要がある場合があります。

サードパーティのデータ回復ツールを使用する

    上記の方法でもコードを取得できず、データが非常に重要である場合、または上記の方法の操作が難しい場合、サードパーティのデータ回復ツールを使用して、失われたコードの回復を試みることができます。これらのツールは通常、ハードドライブまたは USB フラッシュドライブをスキャンし、削除されたファイルを回復できます。一般的なデータ回復ツールには、Recuva、EaseUS Data Recovery Wizard、Disk Drill などがあります。データへのさらなる損傷を避けるために、これらのツールを使用するときは注意する必要があることに注意してください。
  1. つまり、Git は失われたコードを取得するためのさまざまなメソッドを提供しており、特に
git reflog

コマンドと

git fsck

コマンドは、コードの取得に役立ちます。誤用またはオブジェクトの紛失により、過去のバージョンがロールバックされました。データ回復を実行するときは、データへのさらなる損傷を避けるために、操作の正確さと安全性に注意を払う必要があります。

以上がgitリセット後にコードを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート