Git Hatası Nasıl Onarılır: Önce mevcut dizininizi çözmeniz gerekir



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

Hata ' Önce mevcut dizininizi çözmeniz gerekiyor ”Git'te oluşur ve bir birleştirme çakışması olduğu anlamına gelir ve çakışmayı çözmediğiniz sürece başka bir şubeye ödeme yapmanıza izin verilmeyecektir. Bu hata mesajı ayrıca, bir birleştirmenin başarısız olduğunu veya dosyalarla ilgili çakışma olduğunu gösterir.



Hata: Geçerli dizininizi önce Git kaynak denetiminde çözmeniz gerekiyor

Hata: Önce mevcut dizininizi çözmeniz gerekiyor



Tüm bu dosyalar, birleşmeler ve çatışmalar nedir? Git'i kullanmaya yeni başlıyorsanız, bu terimler sizin için bilinmeyecektir. Git, birkaç kişinin eşzamanlı olarak dosyalar üzerinde çalışmasına ve kodun yerel kopyasını bulutta depolanan kopyaya göndermesine olanak tanıyan bir sürüm kontrol platformudur. Bu şekilde, indirilen (veya zaten itilmiş) bir kodu değiştirirseniz ve onu tekrar buluta gönderirseniz, yerel kopyanız değişikliklerin üzerine bulutta yazılacaktır.



Git'in bir dallar kavramı vardır. Bir ana dal vardır ve ondan birkaç başka dal vardır. Bu hata, özellikle bir şubeden diğerine geçiyorsanız (teslim almayı kullanarak) ve geçerli dalın dosyalarında çakışmalar varsa oluşur. Çözümlenmedikleri takdirde şubeleri değiştiremezsiniz.

Git Hatasına ne sebep olur: Önce mevcut 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ü:

  • KİME birleştirme başarısız oldu ve diğer görevlere geçmeden önce birleştirme çatışmasını gidermeniz gerekir.
  • Var çatışmalar mevcut (veya hedeflenen şubenizdeki) dosyalarda ve bu çakışmalar nedeniyle, bir şubeden veya push kodundan ödünç alamazsınız.

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



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

Birleştirmeniz Git tarafından otomatik olarak çözülmezse, dizini ve çalışma ağacını özel bir durumda bırakır ve bu, birleştirmeyi çözmek için ihtiyacınız olan tüm bilgileri size sağlamaya yardımcı olur. Çakışan dosyalar dizinde özel olarak işaretlenecek ve siz sorunu çözüp dizini güncelleyene kadar bu hata mesajını almaya devam edeceksiniz.

  1. Tüm çatışmaları çözün . Dizin tarafından işaretleneceklerinden çakışması olan dosyaları kontrol edin ve bunlarda buna göre değişiklikler yapın.
  2. Mevcut tüm çatışmaları çözdükten sonra, Ekle dosya ve sonra işlemek .

Bir örnek:

$ git dosya.txt ekle $ git commit

Taahhüt sırasında kişisel yorumunuzu ekleyebilirsiniz. Bir örnek:

$ git commit –m 'Bu Appuals Git deposu'
  1. Çakışmayı çözdükten sonra, mevcut şubenizi kontrol etmeyi deneyin ve sorunun çözülüp çözülmediğine bakın.

2.Çözüm: Birleştirmenizi Geri Döndürme

Dalları birleştirdiğiniz ve karıştırdığınız çok sayıda durum var. Tüm çatışmalar ve karışıklık nedeniyle, proje artık bir karmaşa ve ekip üyeleriniz bunun için sizi suçluyor. Bu durumda yapmanız gereken önceki kaydı geri al (birleştirme taahhüdü) . Bu, birleştirmeyi tamamen geri alır ve tüm projeyi, herhangi bir birleştirme yapmadığınız bir duruma geri getirir. Onarımın ötesinde işleri berbat ettiyseniz, bu bir cankurtaran olabilir.

İçin birleştirmeyi geri al , şunu yazın:

$ git reset -–merge

Yukarıdaki komut dizini sıfırlayacak ve çalışma ağacındaki 'commit' ile 'head' arasında farklı olan dosyaları güncelleyecektir. Ancak, indeks ve çalışma ağacı arasında farklı olan dosyaları tutacaktır.

Ayrıca deneyebilirsin HEAD'i tersine çevirmek aşağıdaki komutu kullanarak:

$ git HEAD'i geri döndür

Geri döndürmek istediğiniz tam birleştirme işlemini belirtmek istiyorsanız, aynı geri alma komutunu kullanabilir ancak ek parametreler belirtebilirsiniz. Birleştirme işleminin SHA1 karması kullanılacak. -M ve ardından gelen 1, birleştirmenin üst tarafını (birleştiğimiz dal) korumak istediğimizi gösterir. Bu geri dönüşün sonucu, Git'in değişiklikleri birleştirmeden geri alan yeni bir kesinleştirme yaratmasıdır.

$ git geri döndür -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
3 dakika okundu