質問

apache2でdavを使用して構成されたgitに奇妙な問題があります。

必要に応じて詳細を説明しますが、問題の高レベルの概要を説明します。

リポジトリの3つのクローンがあります。

  1. プッシュして引っ張る裸のもの
  2. マシンに1つa
  3. マシンに1つb

私はマシンAで最後の変更を行い、すべての変更をプッシュし、両方を引きました。問題は、何らかの理由で、マシンBを引っ張った後の最後の変更が見られないことです。

どちらのマシンでもリモートよりも先にいるというメッセージはありません。

奇妙な部分は次のとおりです。

  • 裸のリポジトリで「gitログ」を行うと、マシン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 FAQに記載されているもののように聞こえます:

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と呼ばれるサンプルフックがあります。 git update-server-info プッシュ後。これにより、馬鹿げたHTTPトランスポートが必要とする情報が生成されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top