Çekme istekleri nedir?
Başlangıç olarak:
- Dalları ve çekme isteklerinin önemini gözden geçirme.
- Çekme isteğinin ne olduğunu tanımlama.
- Çekme isteği oluşturmayı, çekme isteği durumlarını gözden geçirmeyi ve çekme isteğini birleştirmeyi öğrenin.
Dallar
İlk olarak dalların ne olduğunu, geliştiriciler için neden önemli olduklarını ve çekme istekleriyle nasıl ilişkili olduklarını tanımlayalım.
Dallar, depodaki diğer kişileri etkilemeden çalışmanızı geliştirebileceğiniz yalıtılmış çalışma alanlarıdır. Bunlar, deponuzun kapsanan bir alanında özellik geliştirmenize, hataları düzeltmenize ve yeni fikirlerle güvenli bir şekilde denemeler yapmanızı sağlar.
Bağımsız dallar üzerinde çalışan geliştiriciler, modern yazılım geliştirmede yaygın bir kavramdır. Bir geliştirici kendi dallarına sahip olarak, işlemeleri kendi dallarında çalışan diğer geliştiricileri nasıl etkileyeceği konusunda endişelenmeden işleme olarak adlandırılan herhangi bir değişiklik yapabilir.
Dalları birleştirme
Her geliştiricinin ayrı bir dalda çalışması bireysel üretkenlik için harika olsa da, yeni bir zorluk açar. Bir noktada, her geliştiricinin dalı gibi ortak bir dalda birleştirilmelidir.main Projeler ölçeklendirildikçe gerçekleşmesi gereken birçok birleştirme olabilir ve her birleştirmeyi izlemek ve gözden geçirmek giderek daha önemli hale gelir. Bir projede birden çok değişikliği izlemeniz gerektiğinde, çekme istekleri devreye girer.
Çekme isteği nedir?
Çekme isteği, dal değişikliklerini belgeleyip geliştiricinin dalındaki değişikliklerin temel (ana) dalda birleştirilmeye hazır olduğunu iletmenin bir yoludur. Çekme istekleri, paydaşların temel daldaki kod kalitesinin mümkün olduğunca yüksek tutulmasını sağlamak için önerilen değişiklikleri gözden geçirmesine ve tartışmasına olanak tanır.
Çekme isteği iki dal arasındaki değişiklikleri karşılaştırır:
- Karşılaştırma dalı, geliştiricinin kendi dalıdır ve yaptıkları belirli değişiklikleri içerir.
- Ana dal olarak da adlandırılan temel dal, değişikliklerin birleştirilmesi gereken daldır.
Çekme isteği başlatılırken GitHub otomatik olarak dal karşılaştırma görünümünü gösterir.
Çekme isteği oluşturma
Şimdi çekme isteği oluşturmayı gözden geçirelim!
üzerinde
GitHub.com, deponun ana sayfasına gidin.Dal menüsünde, işlemelerinizi içeren dalı seçin.
Dosya listesinin üst kısmındaki sarı başlıkta Karşılaştır ve çekme isteği düğmesini seçerek ilişkili dal için bir çekme isteği oluşturun.
Temel dal açılan menüsünde, değişikliklerinizi birleştirmek istediğiniz dalı seçin. Ardından dal karşılaştırma açılan menüsünü seçerek değişikliklerinizi yaptığınız dalı seçin.
Çekme isteğiniz için bir başlık ve açıklama girin.
Gözden geçirmeye hazır bir çekme isteği oluşturmak için Çekme İsteği Oluştur düğmesini seçin. Taslak çekme isteği oluşturmak için açılan listeyi seçin ve Taslak Çekme İsteği Oluştur'u ve ardından Taslak Çekme İsteği'ni seçin.
Çekme isteği durumları
Şimdi çekme isteğinin farklı durumlarını gözden geçirelim.
Taslak çekme isteği - Çekme isteği oluşturduğunuzda, gözden geçirmeye hazır bir çekme isteği veya taslak çekme isteği oluşturmayı seçebilirsiniz. Taslak durumu olan bir çekme isteği birleştirilemiyor ve kod sahiplerinin taslak çekme isteklerini gözden geçirmesi otomatik olarak istenmiyor.
Açma çekme isteği - Açık durum, çekme isteğinin etkin olduğu ve henüz temel dal ile birleştirilmediği anlamına gelir. Yine de işlemeler yapabilir, olası değişiklikleri işbirlikçilerle tartışabilir ve gözden geçirebilirsiniz.
Kapalı çekme isteği - Çekme isteğini temel/ana dalda birleştirmeden kapatmayı seçebilirsiniz. Bu seçenek, dalda önerilen değişikliklere artık gerek kalmadıysa veya başka bir dalda başka bir çözüm öneriliyorsa kullanışlıdır.
Birleştirilmiş çekme isteği - Birleştirilmiş çekme isteği durumu, karşılaştırma dalındaki güncelleştirmelerin ve işlemelerin temel dal ile birleştirildiği anlamına gelir. Depoya anında iletme erişimi olan herkes birleştirmeyi tamamlayabilir.
Çekme isteğini birleştirme
Deponuzun adının altında Çekme istekleri'ne tıklayın.
Çekme istekleri listesinde birleştirmek istediğiniz çekme isteğini seçin.
Çekme isteğinin en altına kadar aşağı kaydırın. Deponuz için etkinleştirilen birleştirme seçeneklerine bağlı olarak şunları yapabilirsiniz:
Çekme isteğini birleştir düğmesini seçerek tüm işlemeleri temel dalda birleştirin. Birleştirme çekme isteği seçeneği gösterilmiyorsa, birleştirme açılan menüsünü seçin, Birleştirme işlemesi oluştur seçeneğini belirleyin ve ardından Birleştirme işlemesi oluştur düğmesini seçin.
Squash ve birleştirme , tüm işlemelerinizi alıp tek bir işlemede birleştirmenizi sağlar. Bu seçenek, depo geçmişinizi daha okunabilir ve düzenli tutmaya yardımcı olur. Sıkıştır ve birleştir seçeneğini belirleyin ve ardından Sıkıştır ve birleştir düğmesini seçin.
Yeniden temel alma ve birleştirme seçeneği, birleştirme işlemesi olmadan işlemeler yapmanıza olanak tanır. Bu, doğrusal proje geçmişini korur. Birleştir açılan menüsünü seçin, sonra Yeniden temel al ve birleştir seçeneğini belirleyin ve ardından Yeniden temel al ve birleştir düğmesini seçin.
İstenirse, bir işleme iletisi girin veya varsayılan iletiyi kabul edin.
üzerinde
GitHub.comhesabınızla ilişkilendirilmiş birden fazla e-posta adresiniz varsa, e-posta adresi açılan menüsünü seçin ve Git yazarı e-posta adresi olarak kullanılacak e-posta adresini seçin. Bu açılan menüde yalnızca doğrulanmış e-posta adresleri görüntülenir. E-posta adresi gizliliğini etkinleştirdiyseniz, varsayılan işleme yazarı e-posta adresi olarak yanıtsız GitHub e-postası kullanılır.
Birleştirmeyi onayla, Sıkıştırmayı ve birleştirmeyi onayla veya Yeniden temel alıp birleştirmeyi onayla'yı seçin.
İsteğe bağlı olarak, deponuzdaki dalların listesini düzenli tutmak için karşılaştırma dalını silebilirsiniz.
Gelişmiş çekme isteği seçenekleri
Çekme istekleri oluşturma ve birleştirmeye ek olarak, ekiplerin yüksek kaliteli kod korumasına yardımcı olan birkaç gelişmiş seçenek vardır.
gözden geçirenler isteniyor
Çekme isteğinizi gözden geçirmek için belirli ortak çalışanlara istekte bulunabilirsiniz. Gözden geçirenler olarak yalnızca depoya yazma erişimi olan ortak çalışanlar seçilebilir. Bu, birleştirmeden önce değişikliklerinizin doğru kişiler tarafından gözden geçirilmesine yardımcı olur.
- Çekme isteği oluştururken veya görüntülerken sağ taraftaki kenar çubuğunda Gözden Geçirenler bölümünü bulun.
- Depoya yazma erişimi olan ortak çalışanların GitHub kullanıcı adlarını arayın ve seçin.
- Seçilen gözden geçirenler çekme isteğinizi gözden geçirmek için bir bildirim alır.
Gerekli incelemeler ve dal koruma kuralları
Bazı depolar, birleştirilmeden önce belirli koşulları karşılamak için çekme istekleri gerektiren dal koruma kurallarını kullanır. Yaygın gereksinimler şunlardır:
- En az bir kişi başka bir ortak çalışanın gözden geçirmesini onaylar.
- Sürekli tümleştirme (CI) iş akışları gibi tüm gerekli durum denetimlerini geçirme.
Çekme isteği bu gereksinimleri karşılamıyorsa, tüm koşullar karşılanana kadar birleştirme düğmesi devre dışı bırakılır.
Çekme isteği sayfasının en altında, Birleştir bölümünün altında bir depo için gerekli kuralları görebilirsiniz.
Bu kurallar genellikle dal koruma ayarlarında depo yöneticileri tarafından yapılandırılır.
Durum denetimleri ve sürekli tümleştirme (CI)
Deponuz GitHub Actions veya başka bir CI sistemi kullanıyorsa, çekme istekleri değişiklik yapıldığında durum denetimlerini otomatik olarak çalıştırabilir. Örnekler şunları içerir:
- Birim testleri çalıştırma
- Kod biçimlendirmesi denetleniyor
- Güvenlik taramalarını doğrulama
Çekme isteklerinin temel dalda birleştirilebilmesi için önce genellikle tüm gerekli durum denetimlerini geçirmesi gerekir. Başarısız denetimler doğrudan çekme isteği sayfasında gösterilir.
Depoları Yıldızlarla Kaydetme
Daha sonra kolayca yeniden ziyaret etmek istediğiniz bir depo bulduğunuzda GitHub'da bu deponun yıldızını oluşturabilirsiniz. Bir deponun yıldızlı olması, depoyu kişisel sık kullanılanlar listenize kaydeder ve depo bakımcılarına minnettarlığınızı gösterir.
Bir deponun yıldızlarını oluşturmak için:
- üzerindeki
GitHub.comdepo sayfasına gidin. - Sağ üst köşedeki Yıldız düğmesini seçin ⭐.
Profil resminizi ve ardından Yıldızlarınız'ı seçerek yıldız eklediğiniz tüm depoları görüntüleyebilirsiniz.
Klavye Kısayolları
GitHub, çalışmanızda daha hızlı ilerlemenize yardımcı olmak için birçok klavye kısayolu sunar.
Kullanılabilir tüm kısayolları görüntülemek için:
- GitHub.com herhangi bir yere basın
?.
Sorunlara, çekme isteklerine, depolara ve daha fazlasına yönelik kısayolların listesini görürsünüz.
Komut Paletini Kullanma
GitHub'da Komut Paleti hızla sayfalara atlamanıza, sık kullanılan eylemleri çalıştırmanıza veya ellerinizi klavyeden çıkarmadan depolarda arama gerçekleştirmenize yardımcı olur.
Komut Paleti'ni açmak için:
- (Windows/Linux) veya
⌘+K(Mac) tuşlarına basınCtrl+K.
İhtiyacınız olan yere anında gitmek için "Çekme isteği oluştur", "Sorunları görüntüle" veya "Dal değiştir" gibi eylemler yazmaya başlayabilirsiniz.
Öğrendiklerini uygula
Ardından, gözden geçirdiklerini alan ve bunu gerçek hayattaki bir örne uygulayan bir alıştırmayı tamamlarsınız.