Çatallar
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git deposu çatalları, insanlar bir kod tabanında deneysel, riskli veya gizli değişiklikler yapmak istediğinde yararlıdır, ancak bu değişikliklerin özgün depodaki kod tabanından yalıtılması gerekir. Yeni çatal temelde özgün deponun kaynak kodunu paylaşan yeni bir uzak depodur.
Bağımsız bir sürüm olarak, çatalınıza yaptığınız işlemeler veya dallar ekleme gibi değişiklikler özgün depodan gizlenir. Kod tabanı değişikliklerinizi özgün depoda birleştirmek istiyorsanız, bu değişikliklerin gözden geçirilmesini ve onaylanmasını istemek için bir çekme isteği (PR) oluşturmanız gerekir.
Çatal oluşturma işlemi hiçbir izni, ilkeyi veya derleme işlem hattını özgün depodan çatalınıza aktarmaz.
Bu makale, Azure Repos Git depolarındaki çatallarla çalışmayı ele alır ve GitHub depolarındaki Çatalların nasıl yönetileceğinin açıklandığı GitHub içeriğine bağlantılar sağlar.
Bu makalede şunları öğreneceksiniz:
- Çatallar arasında kod paylaşma
- Dallar ve çatallar arasında seçim yapma
- Depo çatallarını etkinleştirme
- Çatal oluşturma
- Çatalınızı yerel olarak kopyalama
- Çatalınıza yerel değişiklikleri gönderme
- Çekme isteği oluşturma ve tamamlama
- Çatalınızı eşitleme
Azure Repos'a erişim önkoşulları
Azure DevOps proje ayarlarınızda depoların etkinleştirilmesi gerekir. Depolar hub'ı ve ilişkili sayfalar görüntülenmiyorsa, depoları yeniden etkinleştirmek için bkz. Azure DevOps hizmetini açma veya kapatma.
Özel projelerde kodu görüntülemek için Temel erişim düzeyi veya daha yüksek olan bir Azure DevOps projesinin üyesi olmanız gerekir. Genel projeler için herkes kodu görüntüleyebilir.
Özel bir projenin kodunu kopyalamak veya koda katkıda bulunmak için Katkıda Bulunanlar güvenlik grubunun üyesi olmanız veya ilgili izinlerin ayarlanmış olması gerekir. Herkese açık projeler için herkes kodu kopyalayabilir ve katkıda bulunabilir. Daha fazla bilgi için bkz. Ortak proje nedir?
Not
Ortak projeler için Paydaş erişimi verilen kullanıcılar Azure Repos'a tam erişime sahiptir.
Azure DevOps proje ayarlarınızda depoların etkinleştirilmesi gerekir. Depolar hub'ı ve ilişkili sayfalar görüntülenmiyorsa, depoları yeniden etkinleştirmek için bkz. Azure DevOps hizmetini açma veya kapatma.
Kodu görüntülemek için Temel erişim veya daha yüksek erişime sahip Azure DevOps projesinin bir üyesi olmanız gerekir. Proje üyesi değilseniz, eklensin.
Kodu kopyalamak veya koda katkıda bulunmak için, değiştirmek istediğiniz projede Katkıda Bulunanlar güvenlik grubunun üyesi olmanız veya ilgili izinlere sahip olmanız gerekir.
Çatallar arasında kod paylaşma
Özgün depo genellikle yukarı akış deposu olarak adlandırılır. Değişiklikleri her iki yönde de birleştirmek için PR'ler oluşturabilirsiniz: çataldan yukarı akışa veya yukarı akıştan çatala. En yaygın yön çataldan yukarı akışadır. Hedef deponun izinleri, ilkeleri, derlemeleri ve iş öğeleri çekme isteğine uygulanır.
Dallar ve çatallar arasında seçim yapma
2-5 geliştiriciden oluşan küçük bir ekip için, herkes özellik dallarında çalışabildiğinden ve dal ilkeleri varsayılan dalı koruyabildiğinden çatal oluşturma iş akışı gerekli olmayabilir. Ancak ekibiniz bu düzenlemeyi genişletip genişletirse çatal oluşturma iş akışına geçebilir.
Deponuzda açık kaynak projesi gibi çok sayıda normal veya seyrek işleyen varsa, çatal oluşturma iş akışını öneririz. Genellikle, yalnızca projenize katkıda bulunanların özgün deponuza doğrudan işleme hakları olmalıdır. Diğer ortak çalışanlar, önerilen değişiklikleri yalıtmak için, katkıda bulunanların çalışmalarını gözden geçirme şansına sahip olana kadar bir çatal oluşturma iş akışı kullanmalıdır.
Depo çatallarını etkinleştirme
Azure Repos Git deposunda çatalları etkinleştirmek için bkz . Çatalları etkinleştirme.
GitHub deposunda çatalları etkinleştirmek için bkz . Kuruluşunuz için çatal oluşturma ilkesini yönetme.
Çatal oluşturma iş akışı
Çatal oluşturma iş akışı, aşağıdaki bölümlerde açıklanan beş adımdan oluşur.
- Çatal oluşturma
- Çatalınızı yerel olarak kopyalama
- Çatalınıza yerel değişiklikleri gönderme
- Çekme isteği oluşturma ve tamamlama
- Çatalınızı eşitleme
Çatal oluşturma
Aşağıdaki adımlarda Azure Repos Git deposunda çatal oluşturma adımları açıklanmaktadır.
Not
Azure DevOps projesinde depo çatalı oluşturmak için bu proje için Depo Oluştur iznine sahip olmanız gerekir. Depo sahipleri, çatallar için ayrılmış bir proje oluşturmayı ve depo oluşturma iznini tüm katkıda bulunanlara atamayı düşünmelidir. İzinleri ayarlama hakkında daha fazla bilgi için bkz . Git deposu izinlerini ayarlama.
Web tarayıcınızdan çatallamak istediğiniz Azure Repos Git deposuna gidin. Dosyaları Depola'yı > seçin ve üç nokta menüsünden Çatal'ı seçerek Çatal iletişim kutusunu açın.
Çatal iletişim kutusunda çatallı depoyu adlandırın, çatalın oluşturulmasını istediğiniz projeyi seçin, çatala eklenecek dalları seçin ve ardından Çatal'ı seçin. Çatalın tüm dalları mı yoksa yalnızca varsayılan dalı mı içereceğini belirtebilirsiniz. Depo birkaç konu dalı içeriyorsa, çatalınıza yalnızca varsayılan dalı eklemeyi göz önünde bulundurun.
GitHub deposunda çatal oluşturma hakkında bilgi için bkz . Depo çatalı oluşturma.
Çatalınızı yerel olarak kopyalama
Depo çatalını oluşturduktan sonra, bilgisayarınızda bir klasörde yerel bir kopya oluşturmak için çatalınızı kopyalayın . Komut satırından veya Visual Studio gibi bir IDE kullanarak kopyalayabilirsiniz. Bir depoyu kopyalama hakkında daha fazla bilgi için bkz . Mevcut git deposunu kopyalama.
Uzak bir depoyu kopyaladığınızda Git, kopyaladığınız uzak deponun URL'si için diğer adı origin
kısaltma olarak atar. Kolaylık olması için, yukarı akış deposu olarak adlandırılan, çatalladığınız depo için adlı upstream
başka bir diğer ad ekleyin. Aşağıdaki adımlarda diğer upstream
adın nasıl ekleneceği açıklanmaktadır.
İpucu
Kolaylık sağlamak için Git komutlarınızda ilgili URL'leri yerine ve upstream
diğer adlarını kullanabilirsinizorigin
.
Visual Studio'da diğer upstream
ad eklemek için şu adımları izleyin:
Seçenekler penceresini açmak için menü çubuğundan Araçlar Seçenekleri'ni seçin.> Kaynak Denetimi > Git Deposu Ayarları > UzakLar'ı seçin ve ardından Ekle'yi seçerek Uzak Ekle iletişim kutusunu açın.
Uzak Ekle iletişim kutusunda adlı
upstream
yeni bir uzak alan ekleyin ve çatal oluşturduğunuz deponun Git kopyası URL'sini girin. Ardından Kaydet'i seçin.
Çatalınıza yerel değişiklikleri gönderme
Çatal oluştururken, özgün deponun kişisel bir sürümünü oluşturursunuz (özgün depo "yukarı akış" olarak adlandırılır). Çatal, yukarı akıştan bağımsızdır, ancak çatal kodu paylaşır ve yukarı akışa bir bağlantı tutarak gelecekteki eşitlemeyi sağlar. Bu nedenle, doğrudan yerel kopyanın main
dalında çalışmanızı ve ardından bu işi çatalınızın dalına main
göndermenizi engelleyecek bir şey yoktur. Ancak, işiniz için özellik dallarını kullanmak genellikle daha iyidir. Özellik dallarını kullanarak:
Birden çok bağımsız iş akışını aynı anda koruyabilirsiniz.
Başkalarının paylaştığınız işi anlamasını kolaylaştırırsınız çünkü bu çalışma dallara göre ayrı iş akışları halinde düzenlenmiştir.
Tipik bir Git iş akışı şu adımları içerir:
Yeni dalda değişiklik yapın ve çalışmanızı işleyin . Genellikle, kişiler bir özellik veya hata düzeltmesi üzerinde çalışırken birden çok işleme yapar.
Özelliği veya hata düzeltme dalını çatalınıza gönderin . Çatalınızın diğer adı
origin
vardır.
Değişikliklerinizi gönderme hakkında bilgi için bkz . Kodu gönderme ile paylaşma.
Çekme isteği oluşturma ve tamamlama
Azure Repos'ta, çatalınıza iletmiş olduğunuz değişiklikleri özgün depoda birleştirmek için şunları yapabilirsiniz:
Değişikliklerinizin gözden geçirilmesini ve onaylanmasını istemek için bir çekme isteği oluşturun. Çekme isteğini açtığınızda, çekme isteği kaynak dalını çatalınızdaki özellik veya hata düzeltme dalı olarak ayarlayın. Çekme isteği hedef dalı genellikle
main
çatalını oluşturduğunuz deponun dalıdır. Bu depo yukarı akış deposu olarak adlandırılır ve diğer adınaupstream
sahiptir.Aşağıdaki ekran görüntüsünde kaynak depo ve dal ile Azure Repos'ta oluşturulan çekme isteğinin hedef deposu ve dalı gösterilmektedir.
Tarayıcınızı, Visual Studio'yu veya Azure DevOps CLI'sini kullanarak çekme isteği oluşturma hakkında daha fazla bilgi için bkz . Çekme isteği oluşturma.
Önemli
Yukarı akış deposunda Okuma izni olan herkes buna bir çekme isteği açabilir. Yukarı akış deposunda çekme isteği oluşturmada çalışacak şekilde yapılandırılmış bir ÇEKME isteği derleme işlem hattı varsa, çekme isteğiniz tarafından sunulan değişiklikler üzerinde bir derleme çalıştırılır.
Çekme isteğinizin tamamlanması için tüm gerekli gözden geçirenlerin çekme isteği değişikliklerini onaylaması ve tüm hedef dal ilkelerinin karşılanması gerekir. Çekme isteği onayı ve tamamlandığında, çekme isteği kaynak dalındaki değişiklikler çekme isteği hedef dalı ile birleştirilir.
GitHub PR'sini oluşturma ve tamamlama hakkında bilgi için bkz. Çekme isteği oluşturma ve Çekme isteğini birleştirme.
Çatalınızı eşitleme
Çekme isteği çatalınızdaki değişiklikleri yukarı akış deposunun hedef dalı ile birleştirdikten sonra, ilgili yerel dalınızı hem sizin değişikliklerinizle hem de diğer katkıda bulunanlar tarafından yapılan değişikliklerle güncelleştirmek için yukarı akış deposunun hedef dalından çekebilirsiniz. Ardından, şunu yapmaya hazırsınız:
Güncelleştirilmiş yerel daldan yeni bir özellik veya hata düzeltme dalı oluşturun.
Güncelleştirilmiş yerel dalınızdan
origin
adresine göndererek çatalınızı güncelleştirin.
Genellikle yukarı akış deposunun hedef dalı olur main
. Yerel main
dalınızı doğrudan düzenlemiyorsanız (özellik dallarında çalışıyorsunuz), yukarı akış dalından çekme işlemi yerel dalınızı upstream/main
main
birleştirme çakışmaları olmadan güncelleştirir.