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


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

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

A kódot áttelepítheti egy meglévő TFVC-adattárból egy új Git-adattárba ugyanabban a szervezetben. A Gitbe való migrálás nagy TFVC-adattárak és csapatok számára készült folyamat. A központosított verziókövetési rendszerek, például a TFVC, alapvető módon viselkednek a Gittől eltérően. A kapcsoló sokkal több, 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 betanítása

Javasoljuk, hogy a migrálás megkezdése előtt olvassa el a Központosított verziókövetést a Gitnek , és a következő Migrálás TFVC-ből Git-szakaszba .

Az importálási élmény nagyszerű kis egyszerű TFVC-adattárakhoz. Emellett olyan adattárakhoz is használható, amelyek már "ki lettek takarítva" a Központi verziókövetés gitre és a következő Migrálás A TFVC-ről Git szakaszra című szakaszban leírtak szerint. Ezek a szakaszok más eszközöket is javasolnak a fejlettebb TFVC-adattárkonfigurációkhoz.

Fontos

A TFVC és a Git Store verziókövetési előzményei közötti különbségek miatt javasoljuk, hogy ne migrálja az előzményeket. A Microsoft is ezt a megközelítést alkalmazta a Windows és más termékek központi verziókövetésről a Gitre történő migrálása során.

Az adattár importálása

  1. Válassza az Adattárak, Fájlok lehetőséget.

    Az ágak megtekintése

  2. Az adattár legördülő menüjében válassza az Adattár importálása lehetőséget.

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

  3. Válassza a TFVC lehetőséget a Forrástípus legördülő listából

  4. Írja be a Git-adattárba importálni kívánt adattár/ ág/mappa elérési útját. Például: $/Fabrikam/FabrikamWebsite

  5. Ha a TFVC-adattárból szeretné áttelepíteni az előzményeket, kattintson az Előzmények áttelepítése elemre, é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 1. módosításkészlet véglegesítési üzenetében megjelenik a TFVC-adattárra mutató hivatkozás. Ez megkönnyíti a régebbi előzmények megtalálását, ha szükséges.

  6. Adjon nevet az új Git-adattárnak, és kattintson az Importálás gombra. 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ása 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 van egy TFVC-projektje $/Fabrikam , amely alatt 1 ág és 1 mappa található, az importálandó $/Fabrikam elérési út importálja a mappát, miközben $/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 fentiek bármelyike blokkolja az importálást, javasoljuk, hogy próbálkozzon külső eszközökkel, például a Git-TFS-sel a whitepapers – Központosított verziókövetés gitbe való importálásához és olvasásához, valamint a következő Migrálás TFVC-ről Git-szakaszra .

Fontos

Az olyan külső eszközök használata, mint a 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 külső bővítmények működését, megbízhatóságát vagy biztonságát.

Migrálás TFVC-ről Gitre

Mielőtt migrálná a forráskódot egy központi verziókövetési rendszerből a Gitbe, ismerje meg a kettő közötti különbségeket, és készüljön fel a migrálásra.

Követelmények

A migrálás megkönnyítése érdekében a cikk előző szakaszában szereplő adattár-eljárás importálása előtt számos követelmény áll rendelkezésre.

  • Csak egyetlen ág áttelepítése. A migrálás tervezésekor válasszon egy új elágaztatási stratégiát a Git számára. Csak a főág áttelepítése támogatja a témakörág-alapú munkafolyamatokat, például a GitFlow-t vagy a GitHub Flow-t.
  • Végezze el a tippmigrálást, ahogyan az is, csak a forráskód legújabb verzióját importálja. Ha a TFVC előzményei egyszerűek, lehetséges néhány előzmény áttelepítése akár 180 napra is, hogy a csapat csak a Gitből dolgozzon. További információ: A Gitbe 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, inkább a Git-TFS eszközzel végezze el a migrálást.

Fontos

Az olyan külső eszközök használata, mint a 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 külső bővítmények működését, megbízhatóságát vagy biztonságát.

A migrálás lépései

A TFVC-ről való migrálás általában egyszerű:

  1. Tekintse meg az ág legújabb verzióját a TFVC-től a helyi lemezen.
  2. Távolítsa el a bináris fájlokat és hozzon létre eszközöket az adattárból, és állítson be egy csomagkezelő rendszert, például a NuGetet.
  3. Verziókövetés-specifikus konfigurációs irányelvek konvertálása. Például konvertálja .tfignore a fájlokat .gitignore, és konvertálja .tpattributes .gitattributesa fájlokat .
  4. Ellenőrizze a módosításokat, és végezze el az áttelepítést a Gitbe.

Az 1–3. lépés nem kötelező. Ha nincsenek bináris fájlok az adattárban, és nincs szükség egy vagy egy beállításra.gitignore, akkor közvetlenül a Bejelentkezés módosításokkal folytathatja, és végrehajthatja az áttelepítési .gitattributeslépést.

Tekintse meg a legújabb verziót

Hozzon létre egy új TFS-munkaterületet, és képezjen le egy munkamappát a Gitbe migrált kiszolgálókönyvtárhoz. Ehhez nincs szükség teljes munkamappa-leképezésre. Csak a bináris fájlokat tartalmazó leképezési mappákat kell eltávolítani az adattárból, és azokat a mappákat, amelyek verziókövetési rendszerspecifikus konfigurációs fájlokat, például .tfignore.

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 korábbi fájlról, a bináris fájlok közvetlenül az adattárba való beadásával az adattár gyorsan növekedni fog, és teljesítményproblémákat okozhat.

Az olyan buildelési eszközök és függőségek esetében, mint a kódtárak, verziószámozási támogatással rendelkező csomagolási megoldást alkalmazhat, 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 áthelyezte a függőségeket a NuGetbe, vegye fel őket a Git-adattárba .gitignore.

Verziókövetés-specifikus konfiguráció konvertálása

A Team Foundation verziókövetése biztosít egy .tfignore fájlt, amely biztosítja, hogy bizonyos fájlok ne kerülnek a TFVC-adattárba. A fájlt használhatja az .tfignore automatikusan létrehozott fájlokhoz, például a buildkimenethez, hogy ne legyenek véletlenül bejelentkezve.

Ha a projekt erre a viselkedésre támaszkodik, konvertálja a .tfignore fájlt fájllá .gitignore .

A platformfüggetlen TFVC-ügyfelek egy olyan fájlhoz .tpattributes is támogatást nyújtanak, 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 használatban van, konvertálja fájllá .gitattributes .

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. Miután ezt a végleges módosítást a TFVC-ben megtette, elvégezheti az importálást.

Az importálás végrehajtásához kövesse az adattár importálási eljárását.

Speciális migrálások

A Git-TFS eszköz kétirányú híd a Team Foundation verziókövetése és a Git között, és migráláshoz használhatja. A Git-TFS teljes előzményekkel rendelkező migráláshoz megfelelő, több mint 180 napig, amelyet az Importálás eszköz támogat. Vagy a Git-TFS használatával megkísérelhet több ágat és egyesítési kapcsolatokat tartalmazó migrálást.

A Git-TFS-vel való migrálás előtt vegye figyelembe, hogy alapvető különbségek vannak a TFVC és a Git Store előzményei között:

  • 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 a fájlt A fájlra Bátnevezték volna, csak azt követi nyomon, hogy a fájl A törölve lett, és B ugyanabban a véglegesítésben lett hozzáadva.
  • 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 egyesíthetők egy későbbi módosítási halmazsal. 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 a Git-TFS használatával szeretne speciális migrálást elvégezni, tekintse meg egyetlen ág klónozását előzményekkel , vagy klónozhatja az összes ágat egyesítési előzményekkel.

Fontos

Az olyan külső eszközök használata, mint a 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 külső bővítmények működését, 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ó a központi verziókövetésről a Gitre való migrálásról.