Git kopyalama veya gönderme işlemi Azure DevOps deposuna başarısız olduğunda karşılaşılan sorunları giderme
Makale
Bu makalede, Bir Azure DevOps deposuna Git kopyalama veya Git gönderme işlevi gerçekleştirmeye çalıştığınızda oluşabilecek sorunlar ele alınmaktadır.
Şunlar için geçerlidir: Azure DevOps Services, Azure DevOps Server
Azure DevOps depolarına Git kopyalama veya Git gönderimi gerçekleştirme sorunları
GitHub'da bir depoyu kopyalamaya veya göndermeye çalıştığınızda ara sunucu yapılandırması, SSL sertifikası veya kimlik bilgisi önbelleğiyle ilgili bazı sorunlar Git kopyalama işleminin başarısız olmasına neden olabilir.
Sorun giderme denetim listesi
Sorunların nedenini belirlemek için şu adımları izleyin:
Ara sunucu kullanıyorsanız ancak Git yapılandırması ara sunucu üzerinden bağlanacak şekilde ayarlanmadıysa, 407 veya 502 hata iletilerini görebilirsiniz. Bu sorun, bağlantı ara sunucu üzerinden kurulamadığında ve "<your github url> öğesine erişilemiyor:" veya "github.com ana bilgisayarı çözümlenemedi" gibi hatalar gördüğünüzde de oluşur.
Çözüm: Git'i ara sunucuyu kullanacak şekilde yapılandırma
Komutunu çalıştırarak git config --list sistemdeki tüm Git yapılandırmasının listesini alın ve proxy sunucusunun kullanımda olup olmadığını denetleyin.
Depo veya sistem kökü gibi birden çok yapılandırma dosyası görüyorsanız komutunu çalıştırın git config --list --show-origin ve Git'in yapılandırma bilgilerini aldığı yola bakın.
Yapılandırmalar listesinde ara sunucu bulamazsanız, komutunu çalıştırarak git config --global yapılandırmada bir ara sunucu ayarlayın.
Örneğin, http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port.
Bazı URL'lerde belirli ara sunucuyu kullanmak için Git yapılandırma alt bölümünde ara sunucu URL'sini aşağıdaki örneğe benzer şekilde http.<url\>.key notation: yapılandırın:
Neden 2: Git otomatik olarak imzalanan yerel bir sertifika kullanıyor
Git, otomatik olarak imzalanan yerel bir sertifika kullanıyorsa "SSL sertifikası sorunu: yerel veren sertifikası alınamıyor" hatasını görebilirsiniz.
Çözüm 1: TLS/SSL doğrulamasını devre dışı bırakma
Yerel bir Team Foundation Server (TFS) yüklediyseniz ve Git'in gerçekleştirdiği TLS/SSL doğrulamasını devre dışı bırakmak istiyorsanız aşağıdaki komutu çalıştırın:
git config --global http.sslVerify false
Çözüm 2: Git'te otomatik olarak imzalanan sertifikaları yapılandırma
Git'in yaptığı TLS/SSL doğrulamasına devam etmek istiyorsanız, kök sertifikayı yerel Git'e eklemek için şu adımları izleyin:
Kök sertifikayı Base-64 ile kodlanmış X.509 ( olarak dışarı aktarın. CER) dosyasını şu adımları izleyerek oluşturun:
Microsoft Edge tarayıcısını açın ve gibi https://<servername>/tfsadres çubuğuna TFS sunucunuzun URL'sini girin.
Adres çubuğunda simgeyi seçin ve ardından Bağlantı güvenli bağlantısını seçin.
Sertifika penceresini açmak için simgeyi seçin.
Sertifika Yolu sekmesinde, kök sertifika olan sol üst sertifikayı seçin.
Kök sertifikanın Sertifika penceresini açmak için Sertifikayı Görüntüle'yi seçin.
Sertifika Dışarı Aktarma Sihirbazı'nda İleri'yi ve ardından Base-64 ile kodlanmış X.509 ( öğesini seçin. CER) dosya biçimini dışarı aktarın.
Kök sertifikayı yerel diske kaydedin.
Aşağıdaki adımları izleyerek Git'i Git sertifika deposu için yerel dizini kullanacak şekilde yapılandırın:
Yerel diskinizde C:\Program Files\Git\bin yoluna gidin ve curl-ca-bundle.crt dosyasının bir kopyasını oluşturun.
Not
Cihazınıza Windows için Git (msysgit) yüklediğinizde, program dosyaları dizininizde bir curl-ca-bundle.crt dosyası depolanır. Bu dosya, Git'in güvendiği tüm sertifikaları içeren git.exe için kök sertifika deposudur.
Cihaz başına depolanan curl-ca-bundle.crt dosyası yerel Windows istemcinize özeldir. Metin dosyasında UNIX (\n) satır sonları var.
Windows 2.x için Git serisinde, yol C:\Program Files (x86)\Git\mingw32\ssl\certs\ca-bundle.crt veya C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt olarak değişir. 32 bit Windows istemcisi kullanıyorsanız, Program Files bölümünün x86 ile görünmemesi için klasör yolunu düzeltebilirsiniz.
curl-ca-bundle.crt dosyasını kullanıcı profili dizininize kopyalayın (C:\Users\<adınız>). Veya örneğe copy "C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt" C:\Users\<yourname> benzer bir kopyalama komutu çalıştırın.
Git'i Windows istemcinizden sertifika deposunun yerel kopyasını kullanacak şekilde yapılandırmak için aşağıdaki komutu çalıştırın:
Aşağıdaki adımları izleyerek dışarı aktarılan kök sertifikayı Git sertifika deposunun yerel kopyasına ekleyin:
Dışarı aktarılan kök sertifikayı Not Defteri'nde açın ve içindekilerin tamamını panoya kopyalayın.
Bir metin düzenleyicisinde C:/Users/adınız>/<curl-ca-bundle.crt yoluna giderek curl-ca-bundle.crt dosyasını açın.
İpucu
Unix2dos aracını kullanarak dosyadaki satır sonlarını \n ile \r\n arasında değiştirebilir ve dosyayı Not Defteri'nde açabilirsiniz.
Sonuna kök sertifika için bir girdi ekleyin ve ardından sertifika içeriğini curl-ca-bundle.crt dosyasına yapıştırın.
curl-ca-bundle.crt dosyasını kaydedin.
SSL hatasının çözüldüğünü doğrulamak için kopyalama işlemini gerçekleştirin.
Neden 3: Kimlik doğrulama hatası veya kimlik bilgisi önbelleği sorunları
Hesap adınız veya etki alanı parolanız değiştiyse veya bir kimlik doğrulaması hatası alıyorsanız, kimlik doğrulaması ve kimlik bilgileri önbelleği sorunları olabilir.
Çözüm: Git kimlik bilgileri yöneticisini (GCM) sıfırlama
Kimlik doğrulama hatasını veya kimlik bilgileri önbelleği sorunlarını çözmek için, hata bilgilerini almak için Sorun giderme denetim listesini izleyerek başlayın ve aşağıdaki adımları izleyin:
git config --list komutunu çalıştırın ve git kimlik bilgileri yöneticisi (GCM) kullanıp kullanmadığınızı denetleyin. credential.helper yöneticisi olarak ayarlandıysa GCM kullanımda demektir.
Aşağıdaki adımları izleyerek GCM'yi sıfırlayın:
GCM'yi git config --global --unset credential.helper ayarlamak için komutunu çalıştırın.
GCM'yi git config credential.helper manager geri ayarlamak için komutunu çalıştırın. Alternatif olarak, önce kimlik bilgileri önbelleğini silmek için şu adımları izleyin:
Ayar kaldırıldığında, Windows'ta Kimlik Bilgileri Yöneticisi araması yapın, Aç'ı seçin ve git deposu için olan tüm kimlik bilgilerini kaldırın.
%localappdata%/GitCredentialManager yoluna gidin ve tenant.cache dosyasını silin.
komutunu çalıştırarak GCM'yi git config credential.helper manager yeniden ayarlayın.
Sorunun çözüldüğünü doğrulamak için kopyalama işlemini gerçekleştirin.
Not: Windows için Git sürümüne bağlı olarak, credential.helper değer farklı olabilir. Ayrıntılar için aşağıdaki tabloya bakın:
Windows için Git sürümleri
Windows için Git Kimlik Bilgileri Yöneticisi
Git Kimlik Bilgileri Yöneticisi Çekirdeği
Git Kimlik Bilgileri Yöneticisi (GCM Core'dan Yeniden Adlandırıldı)
Bu sertifikasyon, şu teknik görevleri yerine getirme yeteneğinizi ölçer: Süreçleri ve iletişimi tasarlama ve uygulama, kaynak denetim stratejisi tasarlama ve uygulama, derleme ve yayın işlem hatlarını tasarlama ve uygulama, güvenlik ve uyumluluk planı geliştirme ve izleme stratejisi uygulama.