Ketika Anda menggunakan git pull(yang setara dengan git fetch; git merge), git akan memperbarui file tanpa mengubah pemilik (git tidak menyimpan informasi itu). Tetapi jika ada file baru untuk dibuat, pengguna saat ini akan ditetapkan sebagai pemilik.
Ada solusi berbeda untuk menyelesaikan ini. Mungkin yang lebih mudah adalah dengan menambahkan post-updatekait (di .git/hooksdirektori Anda ) untuk secara otomatis memanggil chown john:john . -Rsetelah penggabungan / tarik ( lihat solusi SO untuk contoh ).
Solusi alternatif adalah:
- Jalankan
git pullsebagai pengguna john alih-alih root (yang akan memerlukan izin tulis ke john untuk direktori .git).
- Buat kait untuk melakukan penyebaran, yang akan menggunakan john sebagai pengguna, baik lakukan chown setelah pembaruan (jadi Anda harus melakukannya
git pulldi dalam post-receivekait dari repo telanjang).
johnpemilik direktori saat ini?