Git TFS Source Control Migration
Ich würde gerne sehen, wie die TFS funktionieren wird für meinen Befehl. So möchte ich bewegen unsere aktuellen GIT-repository in TFS Datenbank. Wir habe verwendet GIT für es herrschte Verzweigung Unterstützung, damit ich verwenden möchte, TFS 2010, um Adresse Problem.
Nun Frage ist. Wie Exportiere ich das GIT-repo zu TFS. Natürlich, es ist eine Art von Skript. Hat jemand das getan? Irgendwelche Vorschläge?
Danke.
- Warum zum Teufel würde jemand verschieben von git in tfs?
- Zwei Worte: bessere Werkzeuge. Ich weiß, dass git eine Menge hype. Und Herr Torwalds selbst schrieb eine batch-er, aber die Interaktion mit dieser Sache NERVT. Ich habe es verwendet für einen 19 Monat jetzt, ich habe es eingeführt, um das team, und ich glaube nicht, dass es eine silberne Kugel. Alle UI-tools sind lahm. Kommandozeilen-Schnittstelle ist ausführlich. Ich habe den Satz von Skripten, um meinen workflow, aber es ist nicht eine Lösung, die ich stolz. Plus TFS ist mehr als source-control. Es ist eine komplexe Lösung: bug-tracker, build-system, VS-integration, SP-Website für nicht-Entwickler den Vorgang beobachten und bugs, etc.
- Git-Erweiterungen code.google.com/p/gitextensions ist schnell zu machen, Artem Kommentar überflüssig. Eine viel schönere Benutzeroberfläche, als Sie die gebündelte UIs.
- Wenn ich die Wahl zwischen Git, SVN und TFS-meine Präferenz wäre: 1. SVN, 2. TFS, 3. Git
Du musst angemeldet sein, um einen Kommentar abzugeben.
Microsoft haben jetzt Ihre eigenen GIT <--> TFS-Erweiterung für GIT: GIT-TF
Dies ermöglicht es, ziehen Sie ein neues GIT-repository von TFS oder die Konfiguration zu erlauben, GIT TFS schiebt, das ist, was Sie tun möchten:
(aus der Dokumentation)
Darüber hinaus die bereits vorhandenen open-source - GIT-TFS Lösung verwendet werden kann (ab Windows nur die Microsoft-Lösung verwendet die Java-und ist cross-Plattform), beschrieben in einer Antwort auf Git in TFS 2008 eine Möglichkeit der migration (mit Geschichte)
Erstellte ich eine schnelle batch-Datei, aber Sie brauchen, um über die Team Foundation Power Tools (tfpt.exe) in Ihrem Weg und Für die (ein Befehlszeilen-loop-Befehl)
Visual Studio-Befehlszeile, um Ihre gewünschte git-Ordner und führen Sie die folgenden.
{TtsInstance}
mit Ihren TFS-URI.{AuthorName}
mit Autor name) der Kommentar umfasst den Zeitstempel aus dem git (leider kann man das nicht ändern, Check-in-Zeit ohne änderung der TFS-server Zeit und ich würde empfehlen, gegen diesen) und der ursprüngliche name des Autors.Das war okay, aber die Zweige nicht perserved. Ich habe mir nicht die Zeit, um herauszufinden, Verzweigung, da es sich nicht um ein groß genug Faktor für die Arbeit in der Zeit.
Hoffentlich jemand retten kann etwas Zeit!
Thumbs.db
zu den tfpt exclude-Liste. Ich hatte es gelöscht aus dem git-Geschichte, denn es wurde versehentlich Hinzugefügt, bevor ich aufgenommen hatte, ein .gitignore - Datei, und wurde empfangen Fehler bei mir lief der.bat
- Datei.Einrichten eines SVNBridge TFS und dann benutze git-svn clone.
git svn update
im Git-docs nicht mehr, obwohl ich ihn findengit svn dcommit
, die "Commit[s] jedes diff aus dem aktuellen Zweig direkt an das SVN-repository, und dann rebase[s] oder" reset[s] (abhängig davon, ob oder nicht es ist ein Vergleich zwischen SVN und Kopf). Dadurch wird eine revision im SVN für jeden commit in git." Also wenn das So sein soll, die gleiche Sache?Können Sie in der Lage sein zu exportieren von git zu svn und nutzen CS-Konverter zu gehen, aus dem svn zu TFVS. Hinweis - CS-Konverter eingestellt worden, aber wie es aussieht, können Sie immer noch herunterladen.
Dies ist eine alte Frage, und vielleicht ist niemand auf der Suche nach diesem mehr, aber es ist viel einfacher jetzt.
Erstellen ein Teamprojekt in TFS mit Git als source-code-control -
Greifen die Git-url für das Projekt. Es wird so Aussehen ...
https://YOURPROJECTS.visualstudio.com/DefaultCollection/_git/PROJECTNAME
Drop " in das Kommando und ausführen.
git remote add origin https://YOURPROJECTS.visualstudio.com/DefaultCollection/_git/PROJECTNAME
git push -u origin --all
Sollte alles, was Sie brauchen.