Git Hatası Nasıl Düzeltilir: Önce geçerli dizininizi çözmeniz gerekir

Git'te " ilk önce şu anki dizininizi çözmeniz gerekiyor " hatası oluşuyor ve bir birleştirme çatışması olduğu anlamına geliyor ve bu çatışmayı çözmediğiniz sürece başka bir şubeye ödeme yapmanıza izin verilmeyecek. Bu hata iletisi ayrıca bir birleştirme işleminin başarısız olduğunu veya dosyalarla çakışma olduğunu gösterir.

Hata: Önce mevcut dizininizi çözmeniz gerekiyor

Tüm bu dosyalar, birleştirmeler ve çakışmalar nelerdir? Git'i kullanmaya yeni başlayanlar için bu terimler size bilinmeyecektir. Git, birkaç kişinin aynı anda dosyalar üzerinde çalışmasına ve kodun yerel kopyasını bulutta depolanana itmesine olanak tanıyan bir sürüm kontrol platformudur. Bu şekilde, indirilmiş (veya önceden basılmış) bir kodu değiştirip tekrar buluta itmeniz durumunda, değişikliklerin bulutta yerel kopyanızın üzerine yazılması gerekir.

Git'in dal kavramı var. Bir ana dal ve ondan başka dallar da vardır. Bu hata özellikle bir daldan diğerine geçiyorsanız (ödeme kullanarak) ve geçerli dalın dosyalarında çakışmalar varsa oluşur. Çözülemezlerse, dalları değiştiremezsiniz.

Git Hatasına Neden Olanlar: Önce şu anki dizininizi çözmeniz mi gerekiyor?

Daha önce de belirtildiği gibi, bu hatanın nedenleri oldukça sınırlıdır. Bu hatayı yaşayacaksınız çünkü:

  • Bir birleştirme başarısız oldu ve diğer görevlerle devam etmeden önce birleştirme ihtilafını çözmelisiniz.
  • Geçerli (veya hedeflenen şubeniz) dosyalarında çakışmalar var ve bu çakışmalar nedeniyle bir şubeden veya push kodundan kontrol edemezsiniz.

Çözüme devam etmeden önce, uygun sürüm denetimine sahip olduğunuzdan emin olun ve uyuşmazlığı çözmeden önce diğer ekip üyelerinin kodu değiştirmesini engellemenin akıllıca olacaktır.

1. Çözüm: Birleştirme Çatışmasını Çözme

Birleştirmeniz Git tarafından otomatik olarak çözülmezse, dizini ve çalışma ağacını özel bir duruma getirir; bu birleştirme işleminde ihtiyacınız olan tüm bilgileri size yardımcı olur. Çakışan dosyalar dizinde özel olarak işaretlenecek ve sorunu çözüp dizini güncelleyene kadar bu hata iletisini almaya devam edeceksiniz.

  1. Tüm çatışmaları çöz . Dizin tarafından işaretleneceği için çakışmaları olan dosyaları kontrol edin ve bunlarda değişiklik yapın.
  2. Var olan tüm çakışmaları çözdükten sonra dosyayı ekleyin ve ardından onaylayın .

Bir örnek:

 $ git file.txt ekleyin $ git commit 

Taahhüt ederken kişisel yorumunuzu ekleyebilirsiniz. Bir örnek:

 $ git commit –m “Bu Appuals Git deposudur” 
  1. Çakışmayı çözdükten sonra, mevcut şubenizi kontrol etmeyi deneyin ve sorunun çözülüp çözülmediğini kontrol edin.

2. Çözüm: Birleştirmenizi Geri Alma

Dalları birleştirip batırdığınız çok sayıda durum vardır. Tüm çatışmalar ve karışıklık yüzünden, proje artık bir karışıklık ve ekip üyeleriniz bunun için sizi suçluyor. Bu durumda, önceki taahhüdünüzü geri almanız gerekir (birleştirme taahhüdü) . Bu, birleştirme işlemini tamamen geri alacak ve herhangi bir birleştirme yapmadığınızda tüm projeyi bir duruma geri getirecektir. Onarımın ötesinde bir şeyleri mahvetmişseniz, bu bir cankurtaran olabilir.

Birleştirmeyi geri almak için aşağıdakileri yazın:

 $ git reset – birleştirme 

Yukarıdaki komut, dizini sıfırlar ve çalışma ağacındaki 'tamamlama' ile 'baş' arasında farklı olan dosyaları günceller. Ancak, dizin ile çalışma ağacı arasında farklı olan bu dosyaları tutacaktır.

Aşağıdaki komutu kullanarak da HEAD'i geri döndürmeyi deneyebilirsiniz:

 $ git HEAD geri döndü 

Geri almak istediğiniz tam birleştirme taahhüdünü belirlemek istiyorsanız, aynı geri alma komutunu kullanabilirsiniz, ancak ek parametreler belirtin. Birleştirme taahhüdünün SHA1 karması kullanılacaktır. -M ardından gelen 1, birleşmenin ana tarafını tutmak istediğimizi gösterir (birleştiğimiz dal). Bu geri dönüşün sonucu Git’in birleştirme işlemindeki değişiklikleri geri alan yeni bir taahhüt oluşturmasıdır.

 $ git geri al - m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Ilginç Haberler