Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
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 más dolgokat is figyelembe kell vennie és frissítenie kell. Végül áttekintünk egy eszközt az átmenet elősegítése érdekében.
Előfeltételek
| Kategória | Követelmények |
|---|---|
| Projekt hozzáférés | A projekttagja. |
| Jogosultságok | - Kód megtekintése magánprojektekben: Legalább Alapszintű hozzáférés. - Privát projektekben lévő kód klónozása vagy közreműködése: A Közreműködők biztonsági csoport tagja vagy a projekt megfelelő engedélyei. - Ág vagy adattár engedélyeinek beállítása: Engedélyek kezelése az ágra vagy adattárra engedélyek. – Alapértelmezett ág módosítása: Szabályzatok szerkesztése adattár engedélyeinek módosítása. - Tároló importálása: A Projekt Adminisztrátorok biztonsági csoport tagja vagy a Git projektszintű Tároló létrehozása engedély beállítása engedély megadása. További információ: Git-adattárengedélyek beállítása. |
| Szolgáltatások | Repók engedélyezve. |
| Eszközök | Opcionális. Használja a(z) az repos parancsokat: Azure DevOps CLI. |
Megjegyzés
Nyilvános projektekben a érintett hozzáféréssel rendelkező felhasználók teljes hozzáféréssel rendelkeznek az Azure Repos-hoz, beleértve a megtekintést, a klónozást és a kódhoz való hozzájárulást.
| Kategória | Követelmények |
|---|---|
| Projekt hozzáférés | A projekttagja. |
| Jogosultságok | - Kód megtekintése: Legalább alap szintű hozzáférés. - Klónozás vagy közreműködés a kódban: A Közreműködők biztonsági csoport tagja vagy a projekt megfelelő engedélyei. |
| Szolgáltatások | Repók engedélyezve. |
Ú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 esetén az alapértelmezett ág nevének megváltoztatásához lásd az 'Az összes adattár beállításai és házirendjei' részt.
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.
Megjegyzés
Alapértelmezett ág módosításához önnek rendelkeznie kell Szabályzat szerkesztése engedéllyel. 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 az új alapértelmezett ág melletti További beállítások lehetőséget, majd válassza a Beállítás alapértelmezett ágként lehetőséget.
Képernyőkép, amely a Kijelölt ág beállítását mutatja.
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 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.
Ha nincsenek korlátozások a használt eszközökből vagy a csapatból, amelyhez tartozol, bármely érvényes ágnév működik.
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.
Csővezetékek
Frissítse az összes pipeline CI-eseményindítóit. A tervezőfolyamatok szerkeszthetők a weben. A YAML-folyamatok a saját adattáraikban szerkeszthetők.
Repülés közbeni pull requestek
Iránymódosítson minden nyitott pull requestet 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 mindenkinek, akinek van meglévő klónja, futtatnia kell a git remote set-head origin -a (a távoli nevét helyettesítsd origin-re, ha az más), hogy frissítse a távoli ág alapértelmezett áttekintésé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 nem kódfájlokat, amelyek az Azure Repos-ban lévő fájlokra mutatnak. Egy fájl vagy könyvtár ágneve megjelenhet az URL-címben.
Ha egy URL-cím például egy version lekérdezést &version=GBmybranchname tartalmaz, akkor azt az URL-címet frissíteni kell.
Szerencsére az alapértelmezett ágra mutató legtöbb hivatkozás nem rendelkezik szegmenssel version , és as-ishagyható.
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 ideiglenes tükrözést a régi és az új alapértelmezett beállítás 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.
Megjegyzé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 folyamatsor
Megjegyzé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>>(az adattár)>engedélyeihez. 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 Engedélyezett legyen.
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.ymlaz 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 .mainFrissítse az eseményindító ágakat és agit pushsort, 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.ymlelőző lépésben hozzáadott fájlt. Mentse és futtassa a pipeline-t.
Hibaelhárítás
Ez a folyamat minden alkalommal lefut, amikor van egy push a(z) master be vagy a(z) main be.
Szinkronban tartja őket, amíg az új véglegesítések nem érkeznek meg egyszerre mindkét ágra.
Ha a folyamat a következő hibaüzenettel kezdi a hibát: "A frissítéseket elutasították, 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 ággal.
- Klónozza az adattárat és
cdannak könyvtárát. - Nézze meg az új alapértelmezett ágat a
git checkout mainhasználatával (ha amainaz ú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 masterhamastera 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.