1

私は現在、の変化を観察しています.git/refs/remotes/origin/master

私の目的は、おそらく誰かがコミットしたために、リモートで変更SHAを検出することです。最新のリモート詳細をプルダウンするために、を実行しgit fetch --quiet --update-head-ok remoteNameます。これは、そのコマンドで更新されている正しいファイルではないようです。

どのディレクトリ/ファイルを監視する必要がありますか?

4

2 に答える 2

3

gitの内部動作でファイルを手動で監視しないでください。gitあなたのために物事をチェックするために使用します。この場合、git rev-parse --verify origin/masterのローカルコピーのSHAが表示され、リモートからSHAを取得します。origin/mastergit ls-remote origin master

.git/refs/remotes/origin/master頻繁に変更されない多くの参照が実際には個々のファイルではなく、に保存されているため、ファイルが古くなっている可能性があるというケースに遭遇していると思われます.git/packed_refs。両方が存在する場合、どちらgitを信頼するかを知っています。

于 2013-02-27T18:44:06.983 に答える
1

これは、リモートオリジンのマスターブランチが更新された場合に新しいコミットハッシュを含むファイルです。異なるリモートと異なるブランチには、予想されるそれぞれのフォルダ/ファイルの場所があります。

変更が記録されている場所を正確に確認するには、--quit引数なしでfetchコマンドを実行します。応答の最後の行(フェッチするものがある場合)は、ダウンロードされた変更が記録された場所を示します。

たとえば、「GITHowTo」のこのページに例を示します

$ git fetch
From /Users/marina/Documents/Presentations/githowto/auto/hello
   6e6c76a..2faa4ea  master     -> origin/master

最後の行は、リモートマスターブランチでの変更の記録がorigin/master-、より具体的には、で記録されたことを示してい.git/refs/remotes/origin/masterます。

于 2013-02-27T18:42:11.540 に答える