Varsayılan dalı değiştirme

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Varsayılan dal, Git'in yeni bir kopya üzerinde kullanıma alacağı ilk daldır. Ayrıca, çekme istekleri varsayılan olarak bu dalı hedefler.

Varsayılan dalı değiştirme işleminde adım adım ilerleyeceğiz. Bu değişikliği yaparken göz önünde bulundurmanız ve güncelleştirmeniz gereken diğer konuları da ele alacağız. Son olarak geçişi kolaylaştıracak bir aracı inceleyeceğiz.

Yeni bir varsayılan dal ayarlama

Yeni değişiklikler dışında main bir dal kullanabilir veya deponuzdaki ana geliştirme hattınızı değiştirebilirsiniz. Yeni depoların varsayılan dal adını değiştirmek için bkz . Tüm depo ayarları ve ilkeleri.

Deponuzun yeni çekme isteklerini birleştirmeye yönelik varsayılan dalını değiştirmek için en az iki dala ihtiyacınız vardır. Yalnızca bir dal varsa, zaten varsayılandır. Varsayılanı değiştirmek için ikinci bir dal oluşturmanız gerekir.

Not

Varsayılan dalı değiştirmek için İlkeleri düzenleme iznine sahip olmanız gerekir. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama.

  1. Proje deponuzun altında Dallar'ı seçin.

  2. Dallar sayfasında, istediğiniz yeni varsayılan dalın yanındaki Diğer seçenekler'i ve ardından Varsayılan dal olarak ayarla'yı seçin.

    Varsayılan dalı ayarla'yı gösteren ekran görüntüsü.

  3. Yeni varsayılan dalı ayarladıktan sonra, isterseniz önceki varsayılanı silebilirsiniz.

  1. Proje yönetim sayfasını açmak için projenizin sol alt köşesindeki ayarlar düğmesini seçin.

    Projeniz için web portalının yönetim alanını açma

  2. Depolar'ı seçin.

  3. Git deponuzu seçin. Dallarınız deponuzun altında görüntülenir.

  4. Varsayılan olarak ayarlamak istediğiniz dalın yanındaki ... öğesini ve ardından Varsayılan dal olarak ayarla'yı seçin.

    Git deposu için varsayılan dal ayarlama

  5. Yeni varsayılan dalı ayarladıktan sonra, isterseniz öncekini silebilirsiniz.

Bu değişikliği yapmadan önce göz önünde bulundurmanız gereken başka yönler de vardır.

Bir ad seçin

Git 2.28 , ilk dal adını seçme özelliğini ekledi. Aynı zamanda Azure Repos, GitHub ve diğer Git barındırma sağlayıcıları farklı bir başlangıç dalı adı seçme özelliği ekledi. Daha önce varsayılan dal neredeyse her zaman olarak adlandırılmıştı master. En popüler alternatif adıdır main. Daha az yaygın seçenekler arasında ve developmentbulunurtrunk. Kullandığınız araçlarda veya üzerinde olduğunuz ekipte herhangi bir kısıtlama yoksa geçerli dal adları çalışır.

Diğer sistemleri güncelleştirme

Farklı bir varsayılan dala geçtiğinizde, iş akışınızın diğer bölümleri etkilenebilir. Değişiklik planlarken bu bölümleri dikkate almanız gerekir.

Pipelines

Tüm işlem hatları için CI tetikleyicilerini güncelleştirin. Tasarım Aracı işlem hatları web'de düzenlenebilir. YAML işlem hatları ilgili depolarında düzenlenebilir.

Uçuş içi çekme istekleri

Her açık çekme isteğini yeni varsayılan dala yeniden hedefle.

Mevcut klonlar

Deponun yeni kopyaları yeni varsayılan dalı alır. Anahtardan sonra, var olan bir kopyası olan herkesin uzak dalın varsayılan dalının görünümünü güncelleştirmek için çalışması git remote set-head origin -a gerekir ( origin başka bir şeyse, yerine uzaktan kumandasının adı kullanılmalıdır). Gelecekteki yeni dallar yeni varsayılanı temel almalıdır.

Azure Repos'taki dosyalara işaret eden bazı yer işaretleri, belgeler ve diğer kod dışı dosyaların güncelleştirilmiş olması gerekir. Bir dosya veya dizinin dal adı URL'de görünebilir.

BIR URL örneğin &version=GBmybranchnameiçin versionbir sorgu dizesi içeriyorsa, bu URL güncelleştirilmelidir. Neyse ki, varsayılan dalın çoğu bağlantısının bir version kesimi olmaz ve olduğu gibi bırakılabilir. Ayrıca, eski varsayılan dalı sildiğinizde, yine de yeni varsayılan dala gitmeyi dener.

Geçici yansıtma

Git deposunun yalnızca bir varsayılan dalı olabilir. Ancak, bir süre için eski varsayılanınızla yeni varsayılanınız arasında geçici yansıtma ayarlayabilirsiniz. Bu şekilde, son kullanıcılarınız eski varsayılana göndermeye devam ederse işlerini kendi uçlarında yeniden yapmalarına gerek kalmaz. Bu geçici yansıtmayı ayarlamak için Azure Pipelines'ı kullanacağız.

Not

Bu bölümde, Microsoft'un perspektifiyle çelişen dil kullanılır. Özellikle, sözcük master Git'te nasıl kullanıldığıyla tutarlı olarak birkaç yerde görünür. Bu konunun amacı, gibi maindaha kapsayıcı bir dile nasıl geçiş yapılacağını açıklamaktır. Tüm bahsetmelerinden master kaçınmak, yol tariflerinin anlaşılmasını çok daha zor hale getirir.

Yansıtma işlem hattı

Not

Bu yönergeler aptalca değildir ve depo kurulumunuz, izinleri ve ilkeleri gevşetme gibi ek değişiklikler gerektirebilir.

Uyarı

Bu işlem hattı çalıştırılmadan önce hem eski hem de yeni varsayılan dallar güncelleştirilirse, işlem hattı değişiklikleri yansıtamaz. Otomatik olarak yeniden çalıştırabilmek için birinin eski varsayılan dalı el ile yeni varsayılan dalla birleştirmesi gerekir.

  1. Tüm mevcut CI derlemeleri için, bunları eski dal yerine yeni varsayılan dalınıza karşı tetikleecek şekilde güncelleştirin.

  2. Derleme kimliğine deponuza katkıda bulunma izni verin. Project Ayarlar> Repositories>(deponuz)>İzinler'e gidin. Biri proje koleksiyonu derleme hizmeti, diğeri de proje derleme hizmeti için olmak üzere en fazla iki kimlik olabilir. Katkıda Bulunma izninin İzin Ver olduğundan emin olun.

  1. Yeni varsayılan dal dal ilkelerine sahipse, derleme kimliğine de gönderme iznini kullanırken ilkeleri atlama izni verin. Kötü amaçlı bir kullanıcı projenizdeki bir depoya gizlice kod eklemek için işlem hattı oluşturabildiğinden bu izin bir güvenlik riskidir. Yansıtma artık gerekli olmadığında, bu izni kaldırdığınızdan emin olun .

  2. Yeni varsayılan daldaki deponuza yeni bir dosya mirror.yml ekleyin. Bu örnekte, eski varsayılan dalın olduğunu master ve yeni dalın olduğunu mainvarsayıyoruz. Dal adlarınız farklıysa tetikleyen dalları ve git push satırı güncelleştirin.

trigger:
  branches:
    include:
    - main
    - master
 
pool: { vmImage: ubuntu-latest }
steps:
- checkout: self
  persistCredentials: true
- script: |
    git checkout $(Build.SourceBranchName)
    git push origin HEAD:master HEAD:main
  displayName: Mirror old and new default branches
  1. Sihirbazda "Azure Repos Git" ve "Mevcut Azure Pipelines YAML dosyası" seçeneğini belirleyerek yeni bir işlem hattı oluşturun. mirror.yml Önceki adımda eklediğiniz dosyayı seçin. İşlem hattını kaydedin ve çalıştırın.

Sorun giderme

Bu işlem hattı, adresine veya mainadresine her gönderim master olduğunda çalışır. Her iki dalda aynı anda yeni işlemeler gelmediği sürece bunları eşitlenmiş durumda tutar.

İşlem hattı "Güncelleştirmeler uzak dalın arkasında olduğundan reddedildi" gibi bir hata iletisiyle başarısız olursa, birinin eski dalı yeni dalla el ile birleştirmesi gerekir.

  1. Depoyu ve cd dizinine kopyalayın.
  2. ile yeni varsayılan dala git checkout main göz atın (yeni varsayılan dalınızsa main ).
  3. İki dalı ile git checkout -b integratetümleştirmek için yeni bir dal oluşturun.
  4. Eski varsayılan dalı (eski varsayılan dalınızsamaster) ile git merge master birleştirin.
  5. Yeni dalı gönderin, ardından yeni varsayılan dala bir çekme isteği açın ve tamamlayın.
  6. Yansıtma işlem hattı daha sonra birleştirme işlemesini eski varsayılana yansıtmayı dikkate almalıdır.