1. Es wird das Tool git-scm benötigt: git-scm.com/download/win
Nach dem Download muss mindestens die „Git Bash“ installiert werden. Alle weiteren Settings können als vorgegebene Default-Werte so gelassen werden.
2. Es wird das Tool git-tfs benötigt: github.com/git-tfs/git-tfs
Die gedownloadete Datei unter „C:\Program Files\“ entpacken und dort die git-tfs.exe einmal kurz ausführen.
Anschließend sollte geprüft werden, dass dieser Ordner unter den System Variablen im Path steht:
3. Die CMD als Admin ausführen und prüfen, ob der git-tfs als command funktioniert:
git-tfs help
4. Mit dem Befehl list-remote-branches können alle Branches auf dem TFS-Server angezeigt werden und wir prüfen gleichzeitig die erfolgreiche Verbindung.
git tfs list-remote-branches office.companyname.de/tfs/Team1
5. Wenn das Prüfen erfolgreich war, kann das eigentliche Klonen beginnen. Um mögliche Probleme während dem Klonen vorzubeugen, kann das Klonen auf dem Build Server der aktuellen TFS-Solution ausgeführt werden.
Der Befehl clone erstellt ein neues Git-Repository, das aus einem TFS-Quellbaum initialisiert wird, und holt alle Änderungssätze.
# Komplettes Repository mit allen commits klonen:
git tfs clone office.companyname.de/tfs/Team1 $/Internes/projectname
Wir haben die Möglichkeit, vor dem Klonen bereits eine gitignore-Datei mitzugeben:
git tfs clone -d office.companyname.de/tfs/Team1 $/Internes/projectname --gitignore="C:\Temp\gitignore"
Der Befehl quick-clone erstellt ein neues Git-Repository, dass aus dem letzten (oder angegebenen) Changeset in einem TFS-Quellbaum initialisiert wird, wobei die gesamte Historie ignoriert wird.
# Repository seit dem letzten Changeset klonen:
git tfs quick-clone office.companyname.de/tfs/Team1 $/Internes/projectname
# Repository ab dem vorgegebenen Changeset klonen:
git tfs quick-clone office.companyname.de/tfs/Team1 $/Internes/projectname -c=145
6. Anschließend kann die Solution einem neuen Repo zugeordnet werden:
git remote add origin gitlab.com/company-adress/projectname.git
7. Wenn das Zuordnen funktioniert, wird der Code gepushed. Dazu sind Passwort und Username wichtig. Beim Eintippen des Passworts, wird dieses nicht angezeigt, funktioniert trotzdem.
git push --all origin
Dieser quiTeq-Tipp kommt aus Stuttgart von Sascha Daub.