私はgitリポジトリ(MyRepo
と呼ぶ)、gitリポジトリのローカル作業クローン、および他のいくつかのマシンからのメインgitリポジトリのサブディレクトリのコピーを持っています(SomeSubDirectory
と呼ぶ)。gitがディレクトリをコミットするのはどれですか?
私のgitリポジトリには少しの履歴(約500件のコミット)がありますが、いくつかのブランチもあります。
残念ながら、最初にSomeSubDirectory
を別の場所にコピーしたとき、どのgitがハッシュしたかをメモするのを忘れました!このコピーSomeSubDirectory
のgitがどのgitコミットをコミットしているかはどのようにして分かりますか?
*すべて*そのディレクトリからファイル、および変更されていないが、作ってみますgitリポジトリを作成し、すべてのファイルをコミットし、ツリーオブジェクトのハッシュをチェックし、そのハッシュがソースリポジトリに存在するかどうかを確認します。 –
@ LasseV.Karlsen 'SomeSubDirectory'は、リポジトリ内のいくつかのコミットですべてのファイルとともに、正確に存在します。残念ながら、それはリポジトリ内の唯一のディレクトリではないので、コミットハッシュは異なるでしょうか? さらに、 'SomeSubDirectory'はしばらくの間続き、時間の経過とともに大きく変化していますので、' SomeSubDirectory'を正確に見つけることができます。 – starbeamrainbowlabs
コミットハッシュ、はい、ただしツリーハッシュはありません。木のハッシュは、あなたがコミットしたときやあなたが誰としてコミットするのか、またこのコミットのために親が存在したのかではなく、どのファイルが存在し、そのハッシュに基づいて計算されます。 –