GitHub "fatal: remote origin already exists" hatası - ÇÖZÜLDÜ

"GitHub "fatal: remote origin already exists" hatası - ÇÖZÜLDÜ"

'Ölümcül: uzak kaynak zaten var' hatası nedir?

fatal: remote origin already existsoriginGitHub'dan bir depoyu veya harici bir uzak depoyu yerel makinenize kopyaladığınızda ve ardından işaret eden URL'yi kendi deponuza güncellemeye çalıştığınızda ortaya çıkan yaygın bir Git hatasıdır .

Kubernetes bağlamında, düzenlemeleri Git depolarını içerecek şekilde yapılandırdığınızda hata oluşabilir. Örneğin, şunu kullanarak:git remote add origin [url].gits

fatal: remote origin already existszaten yapılandırılmış bir URL'ye sahip klonlanmış depodan kaynaklanır. Özellikle, veri havuzu kaynağının bulunduğu orijinal profile yönlendiren bir URL.

Git'te uzak bir kaynak nedir?

remote origin, adından da anlaşılacağı gibi, kodun uzaktan saklandığı yerdir. Herkesin kodu gönderdiği ve kodu aldığı merkezi sunucu veya bölgedir.

Uzak depolar, projenizin GitHub, Bitbucket, GitLab ve Assembla gibi Git uyumlu platformlarda barındırılan sürümleridir. originana bilgisayar sitesinin URL'sini ilişkilendirmek için kullanılan standart ve genel tanıtıcıdır.

Örneğin, remoteadında alternatif bir URL'niz olabilir dev, bu daha sonra aynı kod için ayrı bir havuzun tanıtıcısı olur.

Çalıştırdığınızda git remote -v, tanıtıcıların ve ilişkili URL'lerin bir listesini alırsınız. Dolayısıyla, aynı uzaktan kumanda için farklı işleyicileriniz varsa, konsol çıktısı şöyle görünebilir:

 

 

D:\GitHub\git remote -v 
Origin https://github.com/prod_repo/projectx.git (getir) 
Origin https://github.com/prod_repo/projectx.git (push) 
dev https://github.com/dev_repo/projectx .git (getir) 
dev https://github.com/dev_repo/projectx.git (push)  

 

Bu, aşağıdaki komutu çalıştırabileceğiniz anlamına gelir:git push dev master

Yapılan değişiklikler şubeye değil masterile ilişkili URL'de yukarı itilir .devorigin

 

 

'Ölümcül: uzak kaynak zaten var' sorununu çözme

Çoğu geliştirme ortamı için, originkullanılan varsayılan işleyicidir. İşte çözmenin 3 yolu fatal: remote origin already exists.

1. Mevcut Uzaktan Kumandayı Kaldırın

remotebarındırılan depoyu ifade eder. Origin, bu uzaktan kumandanın nerede olduğunu gösteren işaretçidir. Çoğu zaman, originyerel bir depoda bulunan tek işaretçidir.

Eklenen işaret eden URL'yi değiştirmek isterseniz origin, mevcut olanı kaldırabilir originve ardından doğru URL ile tekrar ekleyebilirsiniz.
İşleyicinizi kaldırmak için, removeon komutunu ve remoteardından işleyici adını kullanın - ki bu bizim durumumuzda origin.
İşte bir örnek: git remote remove origin

İşleyicinin düzgün şekilde silindiğini kontrol etmek için aşağıdakileri çalıştırın:git remote -v

Ya boş bir liste alacaksınız ya da menşei listeden kaldırılmış olarak projeye bağlı olan uzak işleyicilerin bir listesini alacaksınız. Artık hatayla karşılaşmadan
çalıştırabilirsiniz .git remote add origin [url].gitfatal: remote origin already exists

2. Mevcut Uzaktan Kumandanın URL'sini Güncelleyin

Origin işleyicisini her zaman remote. Fatal: remote Origin zaten mevcut sorununu çözmenin alternatif bir yolu, işleyicinin işaretleme URL'sini güncellemektir.

Bunu yapmak için set-urlkomutu, ardından işleyici adını (bizim durumumuzda Origin) ve yeni URL'yi kullanabilirsiniz.

Mevcut bir kaynak URL'yi güncellemek için sözdizimi şöyledir:git remote set-url origin [new-url]

Bu tamamlandığında, artık yeni yapılandırılmış Git deposu konumundan kod gönderip çekebilirsiniz.

3. Mevcut Uzaktan Kumandayı Yeniden Adlandırın

Alternatif olarak, originbaşka bir şeyle yeniden adlandırabilirsiniz. Bu, yenisine yer açmak için işleyicinin işaret eden URL'sini silmek yerine, onu yeniden adlandırabilir ve orijinal ayrıntıları koruyabileceğiniz anlamına gelir.

Bunu yapmak için şu renamekomutu kullanın: remote.

Örneğin, yeniden adlandırmak originistiyorsanız dev, aşağıdaki komutu kullanabilirsiniz:git remote rename origin dev

Şimdi çalıştırdığınızda git remote -v, işleyici olarak yerine dev alacaksınız origin.

 

D:\GitHub\[some-repo]git remote -v 
dev https://github.com/some_repo/projectx.git (getir) 
dev https://github.com/some_repo/projectx.git (push)  

 

originBu , ekli işleyiciler listesine yenilerini eklemek için size yer verecektir . Böylece çalıştırdığınızda git remote add origin [url].git, artık fatal: remote origin already existshata istemi almayacaksınız.

'Ölümcül: uzak kaynak zaten var' nasıl önlenir

Hata oluşmasını önlemek için , işleyicinin zaten var fatal: remote origin already existsolup olmadığını kontrol edebilirsiniz . originOlmazsa, komutu çalıştırmak git add remote originbu sorunu üretmemelidir.

Burada dikkat edilmesi gereken en önemli şey origin, yalnızca bir işleyicinin kısa adıdır. Gerçek uzak havuzun barındırıldığı URL'ye bir referanstır.

İşleyici originsadece standartlaştırılmış varsayılan olur. fatal: remote origin already existsBu kadar yaygın kılan da bu. Aynı yer tutucu adına sahip olması koşuluyla, hatanın kendisi herhangi bir işleyiciye karşı oluşabilir.

Var olup olmadığını kontrol etmek için, mevcut uzak işleyicilerin ve ilişkili URL'lerin bir listesini almak için originçalıştırın .git remote -v

Origin varsa, aşağıdakilerden birini yapabilirsiniz:

  • aşağıdaki gibi komutla listeden originkaldırın :remoteremovegit remote remove origin
  • orijin işaretleme URL'sini şu şekilde güncelleyin set-url:git remote set-url origin [new-url]
  • mevcut işleyiciyi komut originyoluyla başka bir şeye yeniden adlandırın:renamegit remote rename origin [new-name]

fatal: remote origin already existsYukarıdaki kılavuzun, hatayı düzeltmek için uygulamanız gereken sorun giderme adımlarını daha iyi anlamanıza yardımcı olacağını umuyoruz .

Bunun, k8s günlüklerinizde ortaya çıkabilecek ve sistemin başarısız olmasına neden olabilecek birçok Git hatasından yalnızca biri olduğunu unutmayın. K8'lerin karmaşık ve dağınık doğası nedeniyle,
bu tür her bir başarısızlığın temel nedenini araştırmak stresli, kafa karıştırıcı ve zaman alıcı olabilir.

Bu nedenle, k8s sorun giderme süreçlerinizi kolaylaştırmak ve kısaltmak için tek bir gerçek kaynağı (SSOT) işlevi gören Komodor'u yarattık. Diğer özelliklerin yanı sıra şunları sunar:

  • Zekayı değiştir: Her sorun bir değişimin sonucudur. Saniyeler içinde kimin neyi ne zaman yaptığını tam olarak anlamanıza yardımcı olabiliriz.
  • Derinlemesine görünürlük: Tüm kod ve yapılandırma değişikliklerini, dağıtımları, uyarıları, kod farklarını, bölme günlüklerini vb. gösteren eksiksiz bir etkinlik zaman çizelgesi. Hepsi tek bir pencerede kolay detaya inme seçenekleriyle.
  • Hizmet bağımlılıklarına ilişkin içgörüler: Hizmetler arası değişiklikleri anlamanın ve tüm sisteminizde dalgalanma etkilerini görselleştirmenin kolay bir yolu.
  • Sorunsuz bildirimler: Mevcut iletişim kanallarınızla (örn. Slack) doğrudan entegrasyon, böylece ihtiyacınız olan tüm bilgilere ihtiyacınız olduğunda sahip olursunuz.
Aykhan Gasimzade Aykhan Gasimzade verified icon
Full Stack Developer

Merhaba! Ben Aykhan, 1999 doğumlu bir Azerbaycanlıyım ve 2017 yılından bu yana programlamayla ilgileniyorum. Teknolojinin büyülü dünyası beni her zaman etkilemiştir ve bu merakımı kendi blogumda paylaşarak daha geniş bir kitleyle buluşturmayı amaçlıyorum.