Megosztás a következőn keresztül:


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.

  1. A projekt adattárában válassza az Ágak lehetőséget.

  2. 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 alapértelmezett ág beállítása képernyőképe.

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

  1. A projekt bal alsó sarkában található Beállítások gombra kattintva nyissa meg a projekt adminisztrációs oldalát.

    Nyissa meg a projekthez tartozó webportál felügyeleti területét

  2. Válassza az Adattárak elemet.

  3. Válassza ki a Git-adattárat. Az ágak az adattár alatt jelennek meg.

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

    Git-adattár alapértelmezett ágának beállítása

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

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=GBmybranchnametartalmaz, 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.

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

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

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

  2. 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 a git 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
  1. 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 mainvé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.

  1. Klónozza az adattárat és cd annak könyvtárát.
  2. Tekintse meg az új alapértelmezett ágat git checkout main (ha main az új alapértelmezett ág).
  3. Hozzon létre egy új ágat a két ág integrálásához.git checkout -b integrate
  4. Egyesítse a régi alapértelmezett ágat ( git merge master ha master a régi alapértelmezett ág).
  5. Nyomja le az új ágat, majd nyisson meg és fejezze be a lekéréses kérelmet az új alapértelmezett ágba.
  6. 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.