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
Kódot migrálhat egy meglévő Team Foundation Verziókövetési (TFVC) adattárból egy új Git-adattárba ugyanabban a szervezetben. Gitre való áttérés bonyolult folyamat nagy TFVC-adattárak és csapatok esetén. A központosított verziókövetési rendszerek, például a TFVC, alapvető módon viselkednek a Gittől eltérően. Az átállás sokkal többet jelent, mint új parancsok elsajátítása. Ez egy zavaró változás, amely gondos tervezést igényel. A következőkre kell gondolnia:
- Eszközök és folyamatok felülvizsgálata
- Bináris fájlok és végrehajtható fájlok eltávolítása
- A csapat képzése
Előfeltételek
| Kategória | Követelmények |
|---|---|
| Projekthez való hozzáférés | A projekttagja. |
| Jogosultságok | - Kód megtekintése magánprojektekben: Legalább Alapszintű hozzáférés. - Kód klónozása vagy közreműködés magánprojektekben: A Közreműködők biztonsági csoport tagja vagy a projekt megfelelő engedélyei. - Ág- vagy adattárengedélyek beállítása: Az engedélyek kezelése az ág vagy az adattár engedélyei. – Az alapértelmezett ág módosítása: A szabályzatok szerkesztése a tárház jogosultságait határozza meg. - 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. |
| Services | Repók engedélyezve. |
| Eszközök | Opcionális. Parancsok használata: az reposAzure 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 |
|---|---|
| Projekthez való 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. |
| Services | Repók engedélyezve. |
Javasoljuk, hogy az áttelepítés megkezdése előtt olvassa el Központosított verziókövetést a Git és a Migrálás TFVC-ből Git szakaszba.
Az importálási élmény ideális kis, egyszerű TFVC-adattárakhoz. Alkalmas olyan adattárakhoz is, amelyek már tisztaak, ahogy azt Központosított verziókövetés a Git és a Migrálás TFVC-ből Git szakaszba. Ezek a szakaszok más eszközöket is javasolnak a fejlettebb TFVC-adattárkonfigurációkhoz.
Fontos
A TFVC és a Git Áruház verziókövetési előzményei közötti különbségek miatt javasoljuk, hogy ne migrálja az előzményeket, ezt a módszert vette igénybe a Microsoft, amikor a Központi verziókövetésről a Gitre migrálta a Windowst és más termékeket.
Az adattár importálása
Válassza a Adattárak, Fájlok elemet.
Az adattár legördülő menüjében válassza Tárház importálásalehetőséget.
Válassza ki a TFVC-t a Forrástípus legördülő listából
Írja be a Git-adattárba importálni kívánt TFVC-adattár elérési útját. Az elérési út formátuma
$/TFVCRepositoryNamelegyen. Egy adott ág importálásához használja a formátumot$/TFVCRepositoryName/BranchName. Egy adott mappa importálásához, beleértve az almappáit is, használja a formátumot$/TFVCRepositoryName/FolderName. A TFVC importálási folyamata csak a gyökér vagy egy ág tartalmát migrálja. Ha például egy TFVC-projekt van$/Fabrikam, amely alatt egy ág és egy mappa található, az importálási útvonal$/Fabrikamimportálja a mappát, míg$/Fabrikam/<branch>csak az ágat importálja.Ha a TFVC-adattárból szeretné áttelepíteni az előzményeket, válassza Előzmények áttelepítése lehetőséget, és válassza ki a napok számát. A legutóbbi módosításoktól kezdve akár 180 napnyi előzményt is áttelepíthet. A Gitbe migrált első változáskészlet véglegesítési üzenetében megjelenik a TFVC-adattárra mutató hivatkozás, így szükség esetén könnyen megtalálhatja a régebbi előzményeket.
Adjon nevet az új Git-adattárnak, és válassza Importáláslehetőséget. Az importálás méretétől függően a Git-adattár néhány perc alatt készen áll.
Hibaelhárítás
Ez a felület a migrálásra előkészített kis, egyszerű TFVC-adattárakhoz vagy adattárakhoz van optimalizálva. Ez azt jelenti, hogy néhány korlátozással rendelkezik.
- Csak a gyökér vagy egy ág tartalmát migrálja. Ha például egy TFVC-projekt van
$/Fabrikam, amely alatt egy ág és egy mappa található, az importálási útvonal$/Fabrikamimportálja a mappát, míg$/Fabrikam/<branch>csak az ágat importálja. - Az importált adattár és a kapcsolódó előzmények (ha importálva vannak) mérete nem haladhatja meg az 1 GB-ot.
- Legfeljebb 180 napos előzményt importálhat.
Ha a korábban felsorolt információk bármelyike akadályozza az importálást, javasoljuk, hogy próbálkozzon külső eszközökkel, mint például Git-TFS az importáláshoz és tanulmányaink elolvasásához – Központosított verziókövetés Git-re valamint a következő Migrálás a TFVC-ből Git-re szakasz.
Fontos
Az olyan külső eszközök használata, mint Git-TFS Microsoft-termékekkel, szolgáltatásokkal vagy platformokkal, teljes mértékben a felhasználó felelőssége. A Microsoft nem támogatja, nem támogatja vagy garantálja az ilyen nem Microsoft-bővítmények funkcióit, megbízhatóságát vagy biztonságát.
Migrálás TFVC-ről Gitre
Mielőtt egy központi verziókövetési rendszerből a Gitbe migrálja a forráskódot, ismerje meg a kettő és a közötti különbségeket, és készüljön fel a migrálási.
- követelmények
- A migrálás lépései
- Munkafolyamat- frissítése
Követelmények
A migrálás megkönnyítése érdekében a cikk előző szakaszában az adattár eljárásának importálása előtt számos követelmény áll rendelkezésre.
- Csak egyetlen ágat telepíts át. A migrálási tervezésekor válasszon egy új elágaztatási stratégiát a Githez. Csak a főág áttelepítése támogatja a témakörágon alapuló munkafolyamatokat, például Gitflow vagy GitHub Flow.
- Végezze el a migrálást, azaz csak a forráskód legújabb verzióját importálja. Ha a TFVC előzményei egyszerűek, dönthet úgy, hogy áttelepít néhány előzményt akár 180 napra is, így a csapat csak a Gitből dolgozhat. További információ: A Git-be való migrálás megtervezása.
- Zárja ki a bináris objektumokat, például képeket, tudományos adatkészleteket vagy játékmodelleket az adattárból. Ezeknek az eszközöknek a Git LFS (Large File Storage) bővítményt kell használniuk, amelyet az importálási eszköz nem konfigurál.
- Tartsa az importált adattárat 1 GB alatt.
Ha az adattár nem felel meg ezeknek a követelményeknek, használja az Git-TFS eszközt, végezze el a migrálást.
Fontos
Az olyan külső eszközök használata, mint Git-TFS Microsoft-termékekkel, szolgáltatásokkal vagy platformokkal, teljes mértékben a felhasználó felelőssége. A Microsoft nem támogatja, nem támogatja vagy garantálja az ilyen nem Microsoft-bővítmények funkcióit, megbízhatóságát vagy biztonságát.
Migrálás
A TFVC-ből való migrálás folyamata egyszerű:
- Tekintse meg az ág legújabb verzióját a TFVC-ből a helyi lemezen.
- Bináris fájlok eltávolítása és eszközök létrehozása az adattárból, és hozzon létre egy olyan csomagkezelési rendszert, mint a NuGet.
-
Verziókövetés-specifikus konfigurációs irányelvek átalakítása. Konvertálja például
.tfignorefájlokat.gitignore, és konvertálja.tpattributesfájlokat.gitattributes. - Módosítások beadása és a Gitbe való migrálási végrehajtása.
Az 1–3. lépés nem kötelező. Ha nincsenek bináris fájlok az adattárban, és nincs szükség a .gitignore vagy a .gitattributesbeállítására, akkor közvetlenül a lépésre ugorhat a módosítások beadásához, majd hajtsa végre a migráció lépést.
Tekintse meg a legújabb verziót
Hozzon létre egy új munkaterületet, és képezjen le egy munkamappát a Gitbe migrált kiszolgálókönyvtárhoz. Ehhez a művelethez nincs szükség teljes munkamappa-leképezésre. Csak olyan mappák leképezése, amelyek bináris fájlokat tartalmaznak, amelyeket el kell távolítani az adattárból, és olyan mappák, amelyek verziókövetési rendszerspecifikus konfigurációs fájlokat, például .tfignoretartalmaznak.
A leképezések beállítása után kérje le a mappát helyileg:
tf get /version:T /recursive
Bináris fájlok eltávolítása és eszközök létrehozása
Mivel a Git úgy tárolja a módosított fájlok előzményeit, hogy minden fejlesztőnek egy másolatot ad minden előzményfájlról, a bináris fájlok közvetlenül az adattárba való beadásával az adattár gyorsan növekedhet, és teljesítményproblémákhoz vezethet.
Az olyan buildelési eszközökhöz és függőségekhez, mint a könyvtárak, válasszon csomagolási megoldást verziószámozási támogatással, például a NuGetet. Számos nyílt forráskódú eszköz és kódtár már elérhető a NuGet-katalógusban, de a védett függőségekhez hozzon létre új NuGet-csomagokat.
Miután a függőségeket áthelyezzük a NuGetbe, győződjön meg arról, hogy azok nem szerepelnek a Git-adattárban, ha a .gitignore-hoz adja őket.
Verziókövetés-specifikus konfiguráció konvertálása
A Team Foundation verziókövetése egy .tfignore fájlt biztosít, amely biztosítja, hogy bizonyos fájlok ne lesznek hozzáadva a TFVC-adattárhoz. A .tfignore fájlt használhatja automatikusan létrehozott fájlokhoz, például buildkimenethez, hogy ne legyenek véletlenül bejelentkezve.
Ha a projekt erre a viselkedésre támaszkodik, konvertálja a .tfignore fájlt egy .gitignore fájllá.
A platformfüggetlen TFVC-ügyfelek egy .tpattributes fájl támogatását is biztosítják, amely szabályozza a fájlok helyi lemezen való elhelyezését vagy az adattárba való beadását. Ha egy .tpattributes fájl van használatban, konvertálja .gitattributes fájllá.
Módosítások beadása és migrálás végrehajtása
Ellenőrizze azokat a módosításokat, amelyek eltávolítják a bináris fájlokat, áttelepülnek a csomagkezelésre, vagy verziókövetés-specifikus konfigurációt alakítanak át. A végleges módosítás elvégzése után a TFVC-ben importálhat.
Haladó migrációk
A Git-TFS eszköz egy kétirányú híd a TFVS és a Git között, és használható migrációra. Git-TFS az importálási eszköz által támogatott 180 napnál hosszabb, teljes előzményekkel rendelkező migráláshoz alkalmas. Vagy használhatja a Git-TFS-t is olyan migrálás végrehajtásához, amely több ágat és egyesítési kapcsolatot tartalmaz.
A Git-TFS-szel való migrálás előtt legyen tudatában az alábbi alapvető különbségeknek, ahogyan a TFVC és a Git tárolja az előzményeket.
- A Git az előzményeket az adattár pillanatképeként tárolja időben, míg a TFVC rögzíti a fájlon végrehajtott különálló műveleteket. A TFVC-ben nem lehet módosítani a típusokat, például az átnevezés, a visszavonás és a visszaállítás nem fejezhető ki a Gitben. Ahelyett, hogy azt látná, a fájl
AátnevezikBfájlra, csak azt követi nyomon, hogy a fájlAtörlik, és a fájlBugyanabban a commitban kerül hozzáadásra. - A Git nem rendelkezik TFVC-címke közvetlen analógiával. A címkék tetszőleges számú fájlt tartalmazhatnak bármely adott verzióban, és különböző verziókban is tükrözhetik a fájlokat. Bár elméletileg hasonló, a Git-címkék a teljes adattár pillanatképére mutatnak egy adott időpontban. Ha a projekt TFVC-címkékre támaszkodik, hogy megtudja, mi lett kézbesítve, előfordulhat, hogy a Git-címkék nem adják meg ezeket az információkat.
- A TFVC-beli egyesítések nem a teljes adattárban, hanem a fájl szintjén történnek. Csak a módosított fájlok egy részhalmaza egyesíthető egyik ágból a másikba. A fennmaradó módosított fájlok ezután egy későbbi módosítási halmazzal egyesíthetők. A Gitben az egyesítés a teljes adattárat érinti, és az egyes módosítások nem tekinthetők egyesítésnek.
A különbségek miatt javasoljuk, hogy végezze el a tippmigrálást, és tartsa online, de írásvédett TFVC-adattárát az előzmények megtekintéséhez.
Ha Git-TFS-szel szeretne fejlett migrálást megkísérelni, lásd egyetlen ág klónozását előzményekkel, vagy összes ág klónozását az egyesítési előzményekkel.
Fontos
Az olyan külső eszközök használata, mint Git-TFS Microsoft-termékekkel, szolgáltatásokkal vagy platformokkal, teljes mértékben a felhasználó felelőssége. A Microsoft nem támogatja, nem támogatja vagy garantálja az ilyen nem Microsoft-bővítmények funkcióit, megbízhatóságát vagy biztonságát.
A munkafolyamat frissítése
A központi verziókövetési rendszerről a Gitre való áttérés nem csupán a kód migrálása. A csapatnak be kell tanítania, hogyan különbözik a Git a meglévő verziókövetési rendszertől, és hogy ezek a különbségek hogyan befolyásolják a mindennapi munkát.
További információ arról, hogyan migrálni a központi verziókövetésről a Git.