Вопрос

У меня есть странная проблема с GIT, настроенным с использованием DAV на Apache2.

Я предоставлю более подробную информацию, если это необходимо, но вот обзор проблемы высокого уровня.

У меня есть 3 клона репозитория:

  1. голый, чтобы оттолкнуть и вытащить из
  2. один на машине
  3. один на машине B

Я делаю 1 последнее изменение на машине А, и я продвинул все свои изменения, и сделал натяжение на обоих. Проблема в том, что по какой -то причине я не вижу своих последних изменений после натяжения на машине B.

Нет никакого сообщения о том, чтобы опережать удаленное на любой машине.

Странная часть:

  • Если я сделаю «Журнал GIT» на голый репозиторий, последние изменения от машины A будут там
  • Если я сделаю еще один клон голого репозитория, изменения не будут. Это будет только до последних изменений, которые видит машина B.

Это проблема конфигурации сервера или проблема с GIT? У меня была эта проблема уже много месяцев.

git branch -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 FAQ:

https://git.wiki.kernel.org/index.php/gitfaq#my_http_repository_has_updates.2c_which_.27git_clone.27_misses._what_happened.3f

Есть образец крючка под названием post-update.sample in .git/ Hooks/ который вы можете переименовать в пост-UPDATE, чтобы автоматически запустить git update-server-info после толчка. Это генерирует информацию, необходимую тупую HTTP Transport.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top