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
Válassza az Adattárak, Fájlok lehetőséget.
Az adattár legördülő menüjében válassza az Adattár importálása lehetőséget.
Válassza a TFVC lehetőséget a Forrástípus legördülő listából
Í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
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.
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.
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 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. - 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 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ű:
- Tekintse meg az ág legújabb verzióját a TFVC-től a helyi lemezen.
- 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.
- 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
.gitattributes
a fájlokat . - 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 .gitattributes
lé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ájlraB
átnevezték volna, csak azt követi nyomon, hogy a fájlA
törölve lett, ésB
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.