Az alapértelmezett ág módosítása
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Az alapértelmezett ág az első ág, amelyet a Git egy friss klónon fog kivenni. Emellett a lekéréses kérelmek alapértelmezés szerint erre az ágra irányulnak.
Végigvezetjük az alapértelmezett ág módosításának folyamatán. A módosítás során figyelembe kell vennie és frissítenie kell azokat. Végül áttekintünk egy eszközt az áttűnés enyhítése érdekében.
Új alapértelmezett ág beállítása
Az új módosításoktól eltérő main
ágat is használhat, vagy módosíthatja a fő fejlesztési irányt az adattárban. Az új adattárak alapértelmezett ágnevének módosításához tekintse meg az Összes adattár beállításait és szabályzatait.
Az adattár alapértelmezett ágának módosításához az új lekéréses kérelmek egyesítéséhez legalább két ágra van szükség. Ha csak egy ág van, akkor ez már az alapértelmezett. Az alapértelmezett érték módosításához létre kell hoznia egy második ágat.
Feljegyzés
Az alapértelmezett ág módosításához szerkesztési házirend-engedéllyel kell rendelkeznie. További információ: Git-adattárengedélyek beállítása.
A projekt adattárában válassza az Ágak lehetőséget.
Az Ágak lapon válassza a További beállítások lehetőséget az új alapértelmezett ág mellett, és válassza a Beállítás alapértelmezett ágként lehetőséget.
Az új alapértelmezett ág beállítása után szükség esetén törölheti az előző alapértelmezett ágat.
A projekt bal alsó sarkában található Beállítások gombra kattintva nyissa meg a projekt adminisztrációs oldalát.
Válassza az Adattárak elemet.
Válassza ki a Git-adattárat. Az ágak az adattár alatt jelennek meg.
Válassza ki az alapértelmezettként beállítani kívánt ág melletti ... elemet, majd válassza a Beállítás alapértelmezett ágként lehetőséget.
Miután beállította az új alapértelmezett ágat, szükség esetén törölheti az előzőt.
A módosítás előtt más szempontokat is figyelembe kell vennie.
Név kiválasztása
A Git 2.28 hozzáadta a kezdeti ágnév kiválasztásának lehetőségét.
Ezzel egyidejűleg az Azure Repos, a GitHub és más Git hosting szolgáltatók is lehetővé választották, hogy egy másik kezdeti ágnevet válasszanak.
Korábban az alapértelmezett ág neve szinte mindig el lett nevezve master
.
A legnépszerűbb alternatív név a main
.
Kevésbé gyakori lehetőségek a következők: trunk
és development
.
A használt eszközök vagy a csapat által használt összes korlátozás nélkül minden érvényes ágnév működni fog.
Egyéb rendszerek frissítése
Ha másik alapértelmezett ágra vált, a munkafolyamat más részei is érintettek lehetnek. Ezeket a részeket figyelembe kell vennie, amikor módosítást tervez.
Pipelines
Frissítse az összes folyamat CI-eseményindítóit . Tervező folyamatok szerkeszthetők a weben. A YAML-folyamatok a saját adattáraikban szerkeszthetők.
Repülés közbeni lekéréses kérelmek
Minden nyitott lekéréses kérelmet újraküldhet az új alapértelmezett ágra.
Meglévő klónok
Az adattár új klónjai megkapják az új alapértelmezett ágat.
A váltás után minden meglévő klónral rendelkező személynek futnia git remote set-head origin -a
kell ( origin
ha valami másról van szó), hogy frissítse a távoli ág nézetét.
A jövőbeli új ágaknak az új alapértelmezett értéken kell alapulnia.
Bejövő hivatkozások
Frissíteni kell néhány könyvjelzőt, dokumentumot és más, az Azure-adattárak fájljaira mutató nem kódfájlokat. Egy fájl vagy könyvtár ágneve megjelenhet az URL-címben.
Ha például egy URL-cím lekérdezést version
&version=GBmybranchname
tartalmaz, akkor az URL-címet frissíteni kell.
Szerencsére az alapértelmezett ágra mutató hivatkozások többsége nem rendelkezik szegmenssel version
, és az is marad.
Ha törli a régi alapértelmezett ágat, a rendszer mindenképpen megpróbálja az új alapértelmezett ágra navigálni.
Ideiglenes tükrözés
A Git-adattárak csak egy alapértelmezett ágat tartalmazhatnak. Egy ideig azonban beállíthat alkalmi tükrözést a régi és az új alapértelmezett érték között. Így ha a végfelhasználók továbbra is a régi alapértelmezett értékre lépnek, nem kell újra elvégezniük a munkát. Ezt az ideiglenes tükrözést az Azure Pipelines használatával fogjuk beállítani.
Feljegyzés
Ez a szakasz olyan nyelvet használ, amely ellentétes a Microsoft szemszögéből.
A szó master
több helyen is megjelenik, összhangban a Git használatával.
Ennek a témakörnek az a célja, hogy elmagyarázza, hogyan válthat befogadóbb nyelvre, például main
.
Az összes említés master
elkerülése sokkal nehezebbé tenné az irányok megértését.
A tükrözési folyamat
Feljegyzés
Ezek az utasítások nem bolondbiztosak, és az adattár beállítása további módosításokat igényelhet, például az engedélyek és szabályzatok lazítását.
Figyelmeztetés
Ha a régi és az új alapértelmezett ágak is frissülnek a folyamat futtatása előtt, akkor a folyamat nem fogja tudni tükrözni a módosításokat. Valakinek manuálisan kell egyesítenie a régi alapértelmezett ágat az új alapértelmezett ágba, hogy újra automatikusan fusson.
Az összes meglévő CI-build esetében frissítse őket úgy, hogy a régi helyett az új alapértelmezett ágon aktiválja őket.
Adjon engedélyt a buildidentitásnak , hogy hozzájáruljon az adattárhoz. Lépjen a Project Gépház> Repositories>(az adattár)>Engedélyek elemre. Legfeljebb két identitás lehet, az egyik a projektgyűjtemény buildelési szolgáltatásához, a másik a projekt buildelési szolgáltatásához. Győződjön meg arról, hogy a Közreműködés engedély az Engedélyezés gombra van írva.
Ha az új alapértelmezett ág ágszabályzatokkal rendelkezik, az engedélyek leküldésekor adja meg a build identitásának a Bypass szabályzatokat is. Ez az engedély biztonsági kockázatot jelent, mivel egy rosszindulatú felhasználó létrehozhat egy folyamatot, a kódot a projekt adattárába csempészve. Ha már nincs szükség tükrözésre, mindenképpen távolítsa el ezt az engedélyt.
Adjon hozzá egy új fájlt
mirror.yml
az adattárhoz az új alapértelmezett ágban. Ebben a példában feltételezzük, hogy a régi alapértelmezett ág voltmaster
, az új pedig .main
Frissítse az eseményindító ágakat és agit push
sort, ha az ágnevek eltérnek.
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
- Hozzon létre egy új folyamatot, és válassza az "Azure Repos Git" és a "Meglévő Azure Pipelines YAML-fájl" lehetőséget a varázslóban.
Válassza ki az
mirror.yml
előző lépésben hozzáadott fájlt. Mentse és futtassa a folyamatot.
Hibaelhárítás
Ez a folyamat minden alkalommal lefut, amikor leküldéses master
műveletet hajtanak main
végre.
Szinkronban tartja őket, amíg az új véglegesítések nem érkeznek meg egyszerre mindkét ágra.
Ha a folyamat egy olyan hibaüzenettel kezd meghiúsulni, mint a "Frissítések el lett utasítva, mert egy leküldéses ághegy van a távoli mögött", valakinek kézzel kell egyesítenie a régi ágat az új ágba.
- Klónozza az adattárat és
cd
annak könyvtárát. - Tekintse meg az új alapértelmezett ágat
git checkout main
(hamain
az új alapértelmezett ág). - Hozzon létre egy új ágat a két ág integrálásához.
git checkout -b integrate
- Egyesítse a régi alapértelmezett ágat (
git merge master
hamaster
a régi alapértelmezett ág). - Nyomja le az új ágat, majd nyisson meg és fejezze be a lekéréses kérelmet az új alapértelmezett ágba.
- A tükrözési folyamatnak ezután gondoskodnia kell az egyesítési véglegesítés visszatükrözéséről a régi alapértelmezett értékre.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: