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.
Proje yönetim sayfasını açmak için projenizin sol alt köşesindeki ayarlar düğmesini seçin.
Depolar'ı seçin.
Git deponuzu seçin. Dallarınız deponuzun altında görüntülenir.
Varsayılan olarak ayarlamak istediğiniz dalın yanındaki ... öğesini ve ardından Varsayılan dal olarak ayarla'yı seçin.
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 development
bulunurtrunk
.
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.
Gelen bağlantılar
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=GBmybranchname
için version
bir 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 main
daha 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.
Tüm mevcut CI derlemeleri için, bunları eski dal yerine yeni varsayılan dalınıza karşı tetikleecek şekilde güncelleştirin.
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.
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 .
Yeni varsayılan daldaki deponuza yeni bir dosya
mirror.yml
ekleyin. Bu örnekte, eski varsayılan dalın olduğunumaster
ve yeni dalın olduğunumain
varsayıyoruz. Dal adlarınız farklıysa tetikleyen dalları vegit 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
- 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 main
adresine 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.
- Depoyu ve
cd
dizinine kopyalayın. - ile yeni varsayılan dala
git checkout main
göz atın (yeni varsayılan dalınızsamain
). - İki dalı ile
git checkout -b integrate
tümleştirmek için yeni bir dal oluşturun. - Eski varsayılan dalı (eski varsayılan dalınızsa
master
) ilegit merge master
birleştirin. - Yeni dalı gönderin, ardından yeni varsayılan dala bir çekme isteği açın ve tamamlayın.
- Yansıtma işlem hattı daha sonra birleştirme işlemesini eski varsayılana yansıtmayı dikkate almalıdır.