Haftungsausschluss: Ich habe das git-tf
Projekt gestartet und obwohl das Projekt jetzt ohne mich als häufigen Mitwirkenden in sehr kompetenten Händen ist, sollten Sie meine Meinung dazu unbedingt als stark voreingenommen betrachten. (Und wenn Sie Windows verwenden, ist dies möglicherweise unerwartet.)
Es gibt zwei grundlegende Unterschiede zwischen den beiden Werkzeugen:
git-tfs
wurde für Windows-Benutzer erstellt und auf das .NET TFS SDK geschrieben. Das TFS SDK wird nicht unter Mono ausgeführt, daher ist git-tfs
es für die plattformübergreifende Verwendung ungeeignet.
git-tf
wurde für plattformübergreifende Benutzer entwickelt und auf das Java TFS SDK geschrieben. Daher kann es überall dort ausgeführt werden, wo das Java TFS SDK unterstützt wird (Windows, Mac, Linux, AIX, HP-UX, Solaris usw.). Es git-tf
wurde explizit erstellt, damit Xcode-Benutzer auf TFS zugreifen können.
Unter Windows können Sie natürlich beides verwenden. Ich werde nicht unbedingt sagen, dass einer besser ist als der andere. Aber ich werde sagen:
Meine größte Beschwerde git-tfs
ist, dass es unter Mac OS nicht funktioniert. Wenn es eine Möglichkeit gäbe, git-tfs
plattformübergreifend zu arbeiten, git-tf
würde es mit ziemlicher Sicherheit keine geben.
git-tfs
ist in einigen Fällen schneller als git-tf
. Leistung war nicht unsere Priorität in den ersten Überarbeitungen, Korrektheit war.
Aufgrund git-tf
der breiten Plattformunterstützungsmatrix ist die Funktionalität zwangsläufig eingeschränkt. Zum Beispiel gibt es keine Benutzeroberfläche. git-tfs
Auf der anderen Seite gibt es einen checkintool
Befehl, der das normale TFS-Eincheckdialogfeld öffnet. Dies kann bei der Visualisierung Ihrer Änderungen besonders hilfreich sein. (Wenn ich mich recht erinnere, können Sie von dort aus einen geeigneten visuellen Unterschied usw. öffnen.)
git-tf
funktioniert, indem das Git-Repository direkt aufgefüllt und TFS-Objekte direkt in die Git-Objektdatenbank heruntergeladen werden. git-tfs
funktioniert, indem eine TFS-Arbeitsordnerzuordnung in einem versteckten Ordner erstellt und dann das Git-Repository daraus gefüllt wird. Hier gibt es eine Festplattenstrafe. Wenn Sie also über enorme Repositorys verfügen, können Sie dies spüren.
git-tfs
kann versuchen, Ihre TFS-Zweige Ihren Git-Zweigen zuzuordnen. Viele Leute werden dies als positiv empfinden git-tfs
, obwohl ich es nicht tue: Das Verzweigungsmodell von git (auf Repository-Ebene) und das Verzweigungsmodell von TFS (dargestellt als Ordner im Repository) unterscheiden sich so radikal, dass sie Probleme verursachen die einfachsten Workflows. Ihr Kilometerstand kann jedoch variieren.
git-tfs
wird aktiv von einer Community entwickelt. git-tf
hat die Community nicht adoptiert.
Ich möchte nicht, dass es so klingt, als wäre git-tf
es schlecht. Es ist nicht. Ich finde es eigentlich ziemlich gut. Aber es ist möglicherweise nicht Ihre beste Wahl.
Update: git-tf
hat das Ende der Lebensdauer erreicht . Es wird von Microsoft nicht mehr gewartet oder unterstützt. Wir empfehlen, git-tfs
wenn Sie eine bidirektionale TFS <-> Git-Lösung wünschen.