'Git / özniteliklere' erişilemiyor


95

Uyarı ne anlama remote: warning: unable to access '/root/.config/git/attributes': Permission deniedgeliyor ve ne gibi sonuçlar getiriyor?

$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.

Olası altyapı problemini ev sahibine bildirmeli miyim?


Bunu çözebildin mi?
mu 無

@mu 無 Hayır, hala kesin bir cevabım olmadığı için bu konuyu barındırmayla ilgili bir hata bildirmek konusunda isteksizim.
Basilevs

Yanıtlar:


198

Bu durumla kendim karşılaştım. Baktığını doğruladıktan sonra ~/.config/, o klasörün sahibinin olduğunu fark ettim root. Bunu olarak değiştirdim my_user_nameve işe yaradı.

cd ~/
ls -al
<Noticed .config was owned by root, unlike everything else in $HOME>
sudo chown -R $(whoami) .config

Nedeni de bilmenize yardımcı olur: Bu dizin, onu kullanan bir programı ilk çalıştırdığınızda oluşturulur. Komut olarak çalıştırılırsa root, bu izin sorununa neden olur.

Örneğin, eğer ~/.configdizin henüz var olmayan ve çalıştırmak sudo htop, dizinleri ~/.configve ~/.config/htopyarattığı ve ait olacak root. Daha sonra, normal bir git komutu erişemeyecek ~/.configve yukarıdaki uyarıyı verecektir. (Kredi: kullanıcı mehtunguh)

-Rİle opsiyon chownDİR yinelemeli izinlerini değiştirmek için. Bu, altında alt klasörleriniz varsa yardımcı olacaktır.~/.config


6
bu da Windows 10 içinde linux komut satırını kullanırken bana yardımcı oldu - teşekkür ederim!
lukaszkups

1
bu harika bir zaman kazandırıcıydı
Prithvi Raj Vuppalapati

7
Nedeni de bilmenize yardımcı olur - Bu dizin, onu kullanan bir programı ilk çalıştırdığınızda oluşturulur. Komut kök olarak çalıştırıldıysa, bu izin sorununa neden olur. Örneğin, eğer ~/.configdizin henüz var olmayan ve çalıştırmak sudo htop, dizinleri ~/.configve ~/.config/htopoluşturulan ve root ait olacak. Daha sonra normal bir gitkomut erişemez ~/.configve bu uyarıyı verir.
mehtunguh

1
@mehtunguh Lütfen bunu cevabıma eklemeyi düşünün! Bu emin olmak için değerli bir bilgidir.
BlackVegetable

@mehtunguh Bu cevaba görüşlerinizi ekledim. Tekrar teşekkürler.
BlackVegetable

9

HOMEÇevre değişkeninizin yanlış ayarlandığını düşünüyorum .

Gönderen google grup iplik ,

HOME değişkeni olarak ayarlandı /rooto baktı yüzden /root/.gitconfigya /root/.config/git/configerişimi yoktu Normal bir kullanıcı beri /rootbir hata attı.

Bu yüzden çözüm, HOME ortamını kullanıcının HOME dizinine ayarlamamdı.


2

Git, kullanıcı yapılandırması yerine kökten yapılandırma okumaya çalışıyor. Lütfen ortam değişkenlerinizin doğru git yapılandırma kümesine sahip olduğunu veya ana klasörünüzdeki .gitconfig dosyasının erişilebilir olup olmadığını kontrol edin.


Bunun neden olduğu olası sorunlar var mı?
Basilevs

2

Kök dizine gidin

cd ~/

Aşağıdaki kodu yazın:

sudo chown -R username /Users/username

Kullanıcı adı, sisteminizin kullanıcı adıdır.


"Kendi ana dizinimde bulunan .config klasörü sahipliğini değiştirmeli miyim?" Sorusuna verilen bu yanıt önemlidir. askubuntu.com/questions/852265/…
CodingMatters

0

Benzer sorunu çalıştırdım ve sunucu tarafında düzeltmeyi başardım. git orada uwsgi altında çalışır, bu yüzden uwsgi config'e aşağıdaki satırı ekledim:

env = HOME=/srv/git

Burada / srv / git, uwsgi'nin altında çalıştığı ve yapıldığı aynı kullanıcı kimliğine aittir. chmod u+rwX /srv/git Dolayısıyla, git'i çalıştıran işlem için sunucu tarafındaki HOME değişkenini, bu işlemin okuma / yazma / geçiş izinlerine sahip olacağı dizine işaret etmeniz gerekir.


0

Windows için CMD veya SSH istemcisi gibi bazı işlemlerin Git'in silmeye çalıştığı bazı klasörleri açması bir durum olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.