Apa arti peringatan remote: warning: unable to access '/root/.config/git/attributes': Permission denied
dan implikasinya?
$git clone git://git.eclipse.org/gitroot/egit/egit.git
Cloning into 'egit'...
remote: warning: unable to access '/root/.config/git/attributes': Permission denied
remote: Counting objects: 57926, done.
remote: Compressing objects: 100% (11872/11872), done.
remote: Total 57926 (delta 30734), reused 56308 (delta 29136)
Receiving objects: 100% (57926/57926), 32.29 MiB | 1021 KiB/s, done.
Resolving deltas: 100% (30734/30734), done.
Checking out files: 100% (1483/1483), done.
Haruskah saya melaporkan potensi masalah infrastruktur kepada pengelola?
Jawaban:
Saya sendiri mengalami situasi ini. Setelah memverifikasi
~/.config/
bahwa folder itu sedang mencari, saya perhatikan pemilik folder ituroot
. Saya mengubah ini menjadimy_user_name
dan berhasil.Ini membantu untuk mengetahui penyebabnya juga: Direktori ini dibuat saat pertama kali Anda menjalankan program yang menggunakannya. Jika perintah dijalankan sebagai
root
, itu akan menyebabkan masalah izin ini.Misalnya, jika
~/.config
direktori belum ada, dan Anda menjalankansudo htop
, direktori~/.config
dan~/.config/htop
akan dibuat dan dimiliki olehroot
. Setelah itu, perintah git biasa tidak dapat diakses~/.config
dan akan memberikan peringatan di atas. (Kredit: pengguna mehtunguh)The
-R
pilihan denganchown
yaitu untuk mengubah hak akses secara rekursif. Ini akan membantu jika Anda memiliki subfolder di bawah~/.config
sumber
~/.config
direktori belum ada, dan Anda menjalankansudo htop
, direktori~/.config
dan~/.config/htop
akan dibuat dan dimiliki oleh root. Kemudiangit
perintah biasa tidak dapat mengakses~/.config
dan akan memberikan peringatan ini.Saya pikir
HOME
variabel lingkungan Anda tidak disetel dengan benar.Dari utas grup google ,
sumber
Git mencoba membaca konfigurasi dari root alih-alih konfigurasi pengguna. Harap periksa apakah variabel lingkungan Anda memiliki set konfigurasi git yang benar atau file .gitconfig di folder beranda Anda dapat diakses.
sumber
Buka direktori root
cd ~/
Tulis kode berikut:
sudo chown -R username /Users/username
Di mana nama pengguna adalah nama pengguna sistem Anda.
sumber
Saya telah menjalankan masalah serupa dan dapat memperbaikinya di sisi server. git berjalan di sana di bawah uwsgi jadi saya menambahkan di konfigurasi uwsgi baris berikut:
di mana / srv / git dimiliki oleh uid yang sama yang dijalankan uwsgi dan dibuat.
chmod u+rwX /srv/git
Jadi, Anda perlu mengarahkan variabel HOME di sisi server untuk proses yang menjalankan git ke direktori tempat proses ini akan memiliki izin membaca / menulis / melintasi.sumber
Untuk Windows, ini mungkin merupakan kasus ketika beberapa proses seperti klien CMD atau SSH membuka beberapa folder yang Git coba hapus.
sumber