Ç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 bir çatal, temelde yeni bir uzak depoya gönderilen özgün deponun bir kopyasıdır. Çatal özgün depodan bağımsızdır ve tek bir dal belirtmediğiniz sürece tam bir kopyadır.

Bağımsız bir kopya olarak, çatalınıza yaptığınız işlemeler veya dallar ekleme gibi değişiklikler özgün depoyla paylaşılamaz. 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.

    • Projeniz yoksa bir proje oluşturun veya ücretsiz kaydolun.

    • Proje üyesi değilseniz, eklensin.

  • Ö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 edinmek için bkz. Genel 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.

  1. Çatal oluşturma
  2. Çatalınızı yerel olarak kopyalama
  3. Çatalınıza yerel değişiklikleri gönderme
  4. Çekme isteği oluşturma ve tamamlama
  5. Ç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.

  1. 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.

    Azure Repos'taki Depo Dosyaları sayfasındaki Diğer eylemler menüsündeki Çatal menü öğesinin ekran görüntüsü.

  2. Ç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.

    Azure Depoları'ndaki Depo Dosyaları sayfasındaki Çatal iletişim kutusunun ekran görüntüsü.

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:

  1. Seçenekler penceresini açmak için menü çubuğundan Araçlar Seçenekleri'niseçin.> Kaynak Denetimi > Git Deposu Ayarlar > Uzaklar'ı seçin ve ardından Ekle'yi seçerek Uzak Ekle iletişim kutusunu açın.

    Visual Studio 2019'da Kaynak Denetimi menüsünün Git Deposu Ayarlar alt menüsünün Uzaklar bölmesindeki Ekle düğmesinin ekran görüntüsü.

  2. 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.

    Visual Studio 2019'da Uzak Ekle iletişim kutusunun ekran görüntüsü.

Çatalınıza yerel değişiklikleri gönderme

Çatal oluştururken, uzak deponun kişisel ve bağımsız bir kopyasını oluşturursunuz. 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:

  1. Yerel bir özellik veya hata düzeltme dalı oluşturun .

  2. 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.

  3. Özelliği veya hata düzeltme dalını çatalınıza gönderin . Çatalınızın diğer adı originvardı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:

  1. Değişikliklerinizin gözden geçirilmesini ve onaylanmasını istemek için bir çekme isteğioluş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ına upstreamsahiptir.

    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.

    Azure Repos'taki çekme isteği kaynağı ve hedef dal seçeneklerinin ekran görüntüsü.

    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.

  2. Ç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 originadresine 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/mainmain birleştirme çakışmaları olmadan güncelleştirir.

Sonraki adımlar