Git Çekme İstekleri Nelerdir Ve Bunları Nasıl Kullanıyorsunuz?Github ve Gitlab
Github ve Gitab Çekme İstekleri Nelerdir Ve Bunları Nasıl Kullanıyorsunuz? Github ve Gitlab
Çekme istekleri, github ve Gitlab gibi çevrimiçi git hizmetlerinin bir özelliğidir. Depoya erişimi olmasa bile, herkesin eklenecek değişiklikleri talep etmesine izin verirler. Nasıl çalıştıklarını ve bunları açık kaynak işbirliği için nasıl kullanacağımızı tartışacağız.
Çekme isteği ne yapar?
Nasıl görünse de, bir araç olarak git tamamen merkezi olmayan bir sistemdir. Bu, deponun açık olduğu anlamına gelir github.com ve yerel makinenizdeki depo, birbirinden farklı değildir. Bir depo üzerinde çalışmak için Github’a bağlanmıyorsunuz, kodu github’dan yerel deponuza kopyalayıp orada çalışıyorsunuz.
Değişiklikleri itmek istediğinizde, taahhütte bulunabilir ve git push’u çalıştırabilir, güncellemelerinizi başka bir Git deposu olabilecek belirli bir “uzak” a gönderebilirsiniz, ancak genellikle Github, Bitbucket veya Gitlab gibi çevrimiçi barındırılan bir hizmettir. Bu, uzak depoyu repo’nuzla senkronize olacak şekilde günceller.
Bununla birlikte, bu yalnızca genellikle bir şifre veya SSH anahtarıyla yapılandırılmış taahhütleri itme izniniz olduğunda çalışır. Bu sadece repo’yu kontrol eden organizasyon üyelerine verilir, aksi takdirde herkes Git geçmişini değiştirebilir. Kuruluşun bir üyesi değilseniz, değişiklik yapmak istediğinizde ne yapmalısınız?
Git deposunun güncellenmesinin ikinci bir yolu var-git pull. Muhtemelen iş arkadaşlarınız zorlanan değişiklikler yaptığında bunu sık sık yaparsınız. Bu durumda, uzak depodan taahhütleri aşağı çekiyor ve yerel repo ile senkronize ediyorsunuz.
Ancak, git Ademi merkeziyetçidir, bu nedenle repo’nuz ile uzak repo arasında gerçekten bir fark yoktur. Git pull’u sunucudan ters yönde çalıştırabilirsiniz ve bu, çekme isteklerinin çalışmasını sağlayan şeyin kalbidir.
Bir çekme isteği, uzak sunucuya (ve onu destekleyen kişilere), uzak depoya bakmalarını ve entegre etmelerini istediğiniz bazı güncellenmiş taahhütleriniz olduğunu söylemenizdir. Değişiklikleri kabul ederlerse, uzak repo, yerel deponuza karşı git pull çalıştıracak ve bunu yapmak için yetkilendirilmiş bir SSH anahtarına sahip olmanıza gerek kalmadan kodu entegre edecektir.
Açık Kaynak İşbirliğinin Bel Kemiği
Çekme istekleri açık kaynak kitaplıkları için sürekli olarak kullanılır. Sonuçta, açık kaynağın nedeninin çoğu, kodlarının yararlı olması durumunda herhangi bir geliştiricinin projeye katkıda bulunabilmesidir.
Çekme istekleri bunun işe yaramasıdır. Projenin bakıcıları, onu kontrol eden yöneticiler, genellikle çekme isteklerini gözden geçiren ve kodu entegre edip etmeyeceğine veya hazır olmadan önce belirli hataların düzeltilmesi gerekip gerekmediğine karar verenlerdir.
Çekme istekleri tam olarak git’in kendisinin bir özelliği değildir, bu nedenle bunların tam olarak uygulanması hizmete bağlı olarak değişecektir. Ancak, Github için, bir havuzun menü çubuğunda, filtreleyebileceğiniz açık ve kapalı isteklerin bir listesini gösteren çekme isteklerini bulacaksınız.
Bunlardan herhangi birine tıklarsanız, istek sahibi tarafından yapılan yorumları ve onunla ilişkili taahhütleri görüntüleyebilirsiniz.
Deponun bakımcısıysanız, isteği gözden geçirebilir ve birleştirebilirsiniz. Ya da tartışmanız gereken herhangi bir sorununuz varsa, bir yorum bırakabilir ve kod üzerinde birlikte çalışabilirsiniz. Bu, Github gibi kamusal alanların açık kaynak işbirliği için harika olmasının büyük bir nedenidir, dokümantasyonun ifadesini değiştirmek kadar basit bir şey bile herkes tarafından işbirliği içinde yapılabilir.
Çekme istekleri sorunlardan farklıdır. Sorun izleme, Github gibi birçok hizmetin, yeni özellikler için kolay hata düzeltme ve genel işbirliğine olanak tanıyan bir özelliğidir. Esasen, her sorunun bakıcılar ve topluluk tarafından tartışılabilecek bir konusu vardır. Örneğin, dotnet / csharplang, bir programlama dili olarak C# ‘ nın nasıl tasarlandığına dair tartışma için resmi repo’dur. Konulara giderseniz, dilin gelecekteki yinelemeleri için kavramları tartışan birçok insan bulacaksınız:
Tüm sorunlar çekme isteklerine yol açmaz. Sorun bakım görevlisi tarafından giderilirse, önemli olmayacaktır. Sorun bir ortak çalışan tarafından giderilirse, bir çekme isteği göndermeleri gerekir.
Tüm çekme istekleri reddedilir veya doğrudan depodaki kod değişikliklerine yol açar. Sorunlar, geliştirme ilerlemesini ve hangi hataların düzeltilmesi gerektiğini izlemenin bir yoludur.
Çekme İstekleri Yapma
Yine, bunun için tam adımlar kullandığınız hizmete bağlı olarak değişecektir, ancak çoğu açık kaynak işbirliği Github’da gerçekleşir, bu yüzden bunun için adımları göstereceğiz.
İstek yapmak istediğiniz depoya gidin ve çekme istekleri sekmesinin altındaki ” yeni çekme isteği” ni tıklayın:
Burada iki seçeneğin var. Deponun bir üyesiyseniz ve özellik dalınızı ana dalda birleştirmek istiyorsanız, bu iki Dalı seçebilirsiniz.
Açık kaynaklı bir depo üzerinde çalışıyorsanız, repoyu çatallamanız ve kendi hesabınız altında Github’a itmeniz gerekir. Ardından, ana dalınızı ana dallarına birleştirmek için “Çatallar arasında karşılaştır” I seçebilirsiniz.
Bunu yaptıktan sonra, çekme isteği tartışmaya açık olacak ve sadece bakıcılardan haber almak için beklemek zorunda kalacaksınız.
Bu arada, ana başlık çubuğundaki “çekme istekleri” sekmesiyle dahil olduğunuz tüm çekme isteklerinin durumunu kontrol edebilirsiniz.