Kullandığınız zaman git pull(buna eşdeğerdir git fetch; git merge), git sahibi değiştirmeden dosyaları güncelleştirir (git bu bilgileri depolamaz). Ancak oluşturulacak yeni dosyalar varsa, geçerli kullanıcı sahip olarak ayarlanır.
Bunu çözmek için farklı çözümler var. Daha kolay, muhtemelen birleştirme / çekme işleminden sonra otomatik olarak post-updateçağrılacak bir kanca ( .git/hooksdizininizde) eklemektir ( örnek için bu SO çözümüne bakın ).chown john:john . -R
Alternatif çözümler:
git pullKök yerine john kullanıcısı olarak çalıştırın (bu, .git dizini için john'a yazma izni gerektirir).
- Konuşmayı yapmak için john'u kullanıcı olarak kullanacak bir kanca oluşturun, ya güncellemeden sonra chown yapın (böylece çıplak repo kancasının
git pulliçinde yapmak zorunda kalacaksınız post-receive).
johngeçerli dizinin sahibi?