TFS to Git migrate
En ole oikeastaan koskaan käyttänyt TFS:ä versionhallintaohjelmana (Team Foundation Version Control) eikä kiinnostanut ryhtyäkään, kun minulle annettiin ohjelmointitehtävä, jonka lähdekoodi oli TFS:ssä. Olin edellisessä projektissa käyttänyt Gitiä ja minusta oli luontevaa yhdenmukaistaa ja siirtyä tässä toisessakin siihen. Googlettelin hieman, etsin tietoa miten siirron voisi tehdä, ja nyt listaan kokemukseni hommasta.Työkalut
Löysin kaksi työkalua ja kannattaa olla varovainen ja varma kummalle ohjeet on kirjoittu, kun lukee niitä netistä.
Näiden työkalujen käyttöä varten pitää ottaa vaihtoehtoiset tunnukset (Alternate Credentials) käyttöön Visual Studio Onlinessa omista asetuksista.
Itse asensin Git-tf:n seuraavasti Chocolateylla
cinst git-tf
Konvertoinnin vaiheet Git-tf:llä
1. Kloonataan vanha projekti Git-muotoon
git-tf clone https://omatili.visualstudio.com/DefaultCollection $/projekti --deep
Kun laitat --deep, niin mukaan tulee koko historia.
2. Putsataan ylimääräiset jutut pois
Lataa normaali .gitignore-tiedosto, joka määrittelee mitä kaikkea tallennetaan versionhallintaan. Poista vanhaan versionhallintaan liittyvät tiedostot (*.vssscc) ja muokkaa .sln-tiedostojasi poistamalla niistä viittaukset Team Foundation Version Controliin. Avaa .sln tekstieditoriin ja hae "TeamFoundationVersionControl" ja ja poista kyseinen GlobalSection.
Tässä vaiheessa on myös hyvä miettiä miten kohdellaan rivinvaihtoja. Oletuksena LF korvataan CRLF:llä. Tähän liittyvä komento, jos haluaa ottaa automaattisen muunnoksen pois:
git config --global core.autocrlf false
Jos muuten siivoilet hakemistorakennetta ja siirtelet tiedostoja Windowsissa resurssienhallinnalla, niin huomasin, että siirrettyjen tiedostojen historian säilyttämiseksi täytyy antaa komento:
git diff -M .
Mene juurihakemistoon ja lisää uudet tiedostot kuten .gitignore:Tässä vaiheessa on myös hyvä miettiä miten kohdellaan rivinvaihtoja. Oletuksena LF korvataan CRLF:llä. Tähän liittyvä komento, jos haluaa ottaa automaattisen muunnoksen pois:
git config --global core.autocrlf false
Jos muuten siivoilet hakemistorakennetta ja siirtelet tiedostoja Windowsissa resurssienhallinnalla, niin huomasin, että siirrettyjen tiedostojen historian säilyttämiseksi täytyy antaa komento:
git diff -M .
3. Add, Commit ja Push
git add .
Sitten tee commit:git commit -a -m "ensimmäinen commit siirron jälkeen"
Sitten vaihdetaan alkuperäksi minun tapuksessani Visual Studio Online, mutta voit laittaa omankin serverin.
git remote add origin https://omatili.visualstudio.com/DefaultCollection/_git/projekti
Viimeisenä lähetetään sitten tavara pilveen komennolla:
git push -u origin --all
4. Mahdollisten työtehtävien (work item) siirtäminen
Work itemejä voi siirtää ja muokata Excelin ryhmätyöominaisuuksilla (Excel Team features).
Tässä kaikki tällä kertaa ja toivottavasti tästä on jollekin hyötyä.
Ei kommentteja:
Lähetä kommentti