Adattárak importálása és migrálása A TFVC-ből a Gitbe

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

  1. Válassza a Adattárak, Fájlok elemet.

    Az ágak megtekintése

  2. Az adattár legördülő menüjében válassza Tárház importálásalehetőséget.

    Adattár importálása beállítás

  3. Válassza ki a TFVC-t a Forrástípus legördülő listából

  4. Í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 $/Fabrikam importálja a mappát, míg $/Fabrikam/<branch> csak az ágat importálja.

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

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

    Adattár importálási párbeszédpanel

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.

  1. 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 $/Fabrikam importálja a mappát, míg $/Fabrikam/<branch> csak az ágat importálja.
  2. 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.
  3. 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 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ű:

  1. Tekintse meg az ág legújabb verzióját a TFVC-ből a helyi lemezen.
  2. 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.
  3. Verziókövetés-specifikus konfigurációs irányelvek átalakítása. Konvertálja például .tfignore fájlokat .gitignore, és konvertálja .tpattributes fájlokat .gitattributes.
  4. 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 átnevezik Bfájlra, csak azt követi nyomon, hogy a fájl A törlik, és a fájl B ugyanabban 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.