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 origin/master,并git ls-remote origin master从远程获取 SHA。

我怀疑您遇到了文件.git/refs/remotes/origin/master可能已过期的情况,因为许多不经常更改的引用实际上不再存储在单个文件中,而是存储在.git/packed_refs. 如果两者都存在,git则知道该信任哪一个。

于 2013-02-27T18:44:06.983 回答
1

如果远程源上的主分支已更新,则该文件将包含新的提交哈希。不同的遥控器和不同的分支将具有预期的相应文件夹/文件位置。

要准确查看记录更改的位置,请运行不带--quit参数的 fetch 命令。响应的最后一行(如果有任何东西要获取)将告诉您下载的更改记录在哪里。

例如,“GIT HowTo”上的这个页面给出了例子

$ 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 回答