繁体   English   中英

Git pull 不更新,repo 不一致?

[英]Git pull not updating, repo inconsistent?

我在 apache2 上使用 DAV 配置 git 有一个奇怪的问题。

如果需要,我将提供更多详细信息,但这里是问题的高级概述。

我有一个存储库的 3 个克隆:

  1. 裸露的推拉
  2. 机器 A 上的一个
  3. 机器 B 上的一个

我在机器 A 上进行了最后一次更改,并推送了所有更改,并对两者进行了拉动。 问题是,出于某种原因,我在启动机器 B 后看不到我的最后更改。

也没有关于在任何一台机器上领先于远程的消息。

奇怪的部分是:

  • 如果我在裸存储库上执行“git log”,则机器 A 的最后更改将在那里
  • 如果我对裸存储库进行另一个克隆,则更改将不存在。 它只会取决于机器 B 看到的最后一次更改。

这是服务器配置问题还是 git 问题? 我已经有这个问题好几个月了。

git branch -a打印:

机器A:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

机器B:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

.git/config两者:

[core]
  repositoryformatversion = 0
  filemode = false
  bare = false
  logallrefupdates = true
[branch "master"]
  remote = origin
  merge = refs/heads/master
[remote "origin"]
  url = http://<url>/p/home.git
  fetch = +refs/heads/*:refs/remotes/origin/*

由于您已在评论中确认我的猜测是正确的,因此我会将其添加为答案:) 听起来问题出在此 git 常见问题解答中描述的问题:

https://git.wiki.kernel.org/index.php/GitFaq#My_HTTP_repository_has_updates.2C_which_.27git_clone.27_misses._What_happened.3F

.git/hooks/ 中有一个名为 post-update.sample 的示例挂钩,您可以将其重命名为 post-update,以便在推送后自动运行git update-server-info 这会生成哑 HTTP 传输所需的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM