it-swarm.com.de

Was sind die großen Unterschiede zwischen TFVC (TFS Version Control) und Git für die Quellcodeverwaltung bei Verwendung von Visual Studio 2013?

Es gibt Unmengen von Fragen und Antworten zu Git im Vergleich zur TFVC-Quellcodeverwaltung. Derzeit gibt es jedoch keine Antworten auf die Integration von Git in Team Foundation Server/Service, die ich finden kann.

Ich beginne mit Visual Studio 2013 mit der Entwicklung von grünen Weiden mit einer Vielzahl von Sprachen (C #, C++, PHP, Javascript, MySSQL). In Zukunft wird es einige iOS-Entwicklungen geben. Ich bin sehr vertraut mit SVN, VSS und TFVC für die Quellcodeverwaltung. Ich habe jedoch noch nie Git verwendet. Ich bevorzuge TFS für Prozessmanagement/agile Entwicklung ... Es ist nicht perfekt, lässt sich aber gut in Visual Studio integrieren.

Um mir bei der Entscheidung zwischen diesen beiden Systemen zu helfen ...

Was sind die großen Unterschiede zwischen TFVC und Git für die Quellcodeverwaltung bei Verwendung von Visual Studio 2013?

  • Ist der einzige Vorteil in meinem Fall ein lokales Repository (obwohl es unbedeutend ist) und die Unterstützung für die iOS-Entwicklung?
  • Ist der einzige Nachteil von Git die Befehlszeilenschnittstelle (einige würden argumentieren, dass das kein Nachteil ist ;-P).
  • Haben Sie Erfahrung mit der Visual Studio 2013-Benutzeroberfläche für Git? Reicht das aus, um das grundlegende Verzweigen/Zusammenführen ohne die Befehlszeilenschnittstelle zu unterstützen?
  • Gibt es eine detaillierte Startanleitung für Git, die zeigt, wie Git mit Visual Studio 2013 verwendet wird? Microsoft hat ein Video zum Integrieren eines vorhandenen Git-Repository in Visual Studio 2013, aber ich suche einen Neuanfang mit Git und VS 2013.

Ich suche hier kein Buch, sondern nur ein paar Stichpunkte und vielleicht einige relevante Links von Leuten, die sowohl TFVC als auch Git verwendet haben.

98
Greg Grater

Was sind die großen Unterschiede zwischen TFS und Git für die Quellcodeverwaltung bei Verwendung von VS 2013?

MSDN hat eine sehr umfangreiche Seite über alle Funktionen und Unterschiede zwischen Team Foundation Version Control und Git .

Ist der einzige Vorteil in meinem Fall ein lokales Repository (nicht ohne Bedeutung) und IoS-Entwicklungsunterstützung?

Nein, es gibt noch viel mehr, aber es sind oft fortgeschrittene Git-Szenarien. Local Repo, Offline-Unterstützung und volle lokale Wiedergabetreue in Bezug auf den Verlauf sind unglaublich leistungsstark. Mit Visual Studio ist dies sofort möglich. Es gibt noch ein paar andere großartige Funktionen! Die Möglichkeit zum Verzweigen und Zusammenführen von einem Repository in ein anderes ist sehr leistungsfähig. Ich empfehle Ihnen, das Pro Git-Buch nachzuschlagen. Git in TFS ist nur ein weiterer Git-Server, er hat so ziemlich alle Funktionen, die das Standard-Git bietet.

Durch die Möglichkeit, den Verlauf vor dem Zusammenführen neu zu schreiben, können Sie eine Reihe kleinerer Änderungssätze entfernen oder kombinieren, sodass der Verlauf übersichtlicher und für den Benutzer leichter lesbar ist.

Ist der einzige Nachteil von Git die Befehlszeilenschnittstelle (einige würden argumentieren, dass das kein Nachteil ist ;-P).

TFVC hat auch eine Kommandozeile, die die Leute einfach nicht benutzen. Für Leute, die Git verwenden möchten und nie viel mehr als TFVC tun, werden sie wahrscheinlich die Benutzeroberfläche nicht wirklich verlassen müssen, sie werden aber nicht viele der coolen Funktionen bekommen ...

Möglicherweise gibt es ein paar andere Nachteile, die hauptsächlich auf die Tatsache zurückzuführen sind, dass es anders ist als die, an die die Menschen gewöhnt sind. Es ist nicht allzu schwer, sich in den Fuß zu schießen, wenn Sie sich nicht die Zeit nehmen, um zu lernen, was GIT macht, wenn Sie Dinge tun. Dinge wie Rebase und Squash sind wirklich mächtig und erzeugen einen sehr sauberen Verlauf, aber es kann Menschen das Problem bereiten, dass sie bei falscher Verwendung nicht mehr zusammengeführt werden können. TFS hat die Möglichkeit, einige Sicherheitseinstellungen vorzunehmen, um die Rechte zu entziehen, sehr dumme Entscheidungen in einem Git-Repository zu treffen .

Ein sehr cooles Add-On für Git-Benutzer unter Windows ist PoSHGit . Es ermöglicht die automatische Vervollständigung von Befehlen in der Powershell-Befehlszeile.

Haben Sie in der VS 2013 GUI für Git erlebt? Reicht das aus, um das grundlegende Verzweigen/Zusammenführen ohne die Befehlszeilenschnittstelle zu unterstützen?

Es hat alles, was Sie für grundlegende Operationen benötigen. Sie müssen jedoch in der Lage sein, die verschiedenen Zweige zu visualisieren, um zu wissen, was los ist. Da der Git-Server und das lokale Repo nur Git sind, kann Ihnen jeder Git-Client hier weiterhelfen. SourceTree ist hier eine Option. Der Git für Windows-Client ist ein anderer.

Für Standardoperationen, Einchecken, Auschecken, Zusammenführen, Verzweigen (oder Drücken, Ziehen, Abrufen, Festschreiben, Zusammenführen) funktioniert die Benutzeroberfläche einwandfrei.

Gibt es eine detaillierte Startanleitung für Git, die zeigt, wie Git mit VS 2013 verwendet wird? MS hat ein Video zum Integrieren eines vorhandenen Git-Repos in VS 2013, aber ich suche einen Neuanfang mit Git und VS 2013?

Das Starten mit Git ist an mehreren Stellen möglich ... Dies sind einige Optionen:

Andere gute liest:

Und ein paar Tools, die es wert sind, installiert zu werden:

112
jessehouwing

Um einige verwirrende gemischte Begriffe zu klären, die häufig mit [~ # ~] tfs [~ # ~] verwendet werden

Team Foundation Server (TFS) ist ein Tool zur Verwaltung des Anwendungslebenszyklus, das enthält ein Versionskontrollsystem (VCS) für den Quellcode ) Komponente.

Die [~ # ~] vcs [~ # ~] Komponente, die [~ # ~] tfs [~ # ~] using ist in erster Linie Team Foundation Version Control (TFVC)

Die Frage wäre also [~ # ~] tfvc [~ # ~] vs Git

(Tatsächlich unterstützt [~ # ~] tfs [~ # ~] Git als [~ # ~] vcs Option [~ # ~] .)

Die Frage ist also: TFVC vs Git

jessehouwing hat eine großartige Antwort, die dies ausführlich behandelt. Bitte verweisen Sie darauf

Was die Auswahl anbelangt, gewinnt meiner Meinung nach Git

  1. Es ist leicht: Einfach einzurichten und zu verwenden.
  2. Aufgrund seiner verteilten Natur ist es sehr widerstandsfähig gegenüber Katastrophen. Jemand wird immer eine Kopie des Repos haben.
  3. Die Offline-Arbeit ist einfach, Sie arbeiten mit Ihrem eigenen vollständigen Repository. Sie können Änderungen festschreiben, zurücksetzen, den Verlauf durchsuchen usw. Sie müssen nur online sein, wenn Sie mit einem Remote-Repository synchronisieren möchten.
  4. In TFS gibt es keine einfache Möglichkeit, den Status Ihrer Änderungen (Hinzufügen, Ändern und Löschen von Dateien) zu speichern und in einen anderen Codestatus zu wechseln. (Zum Beispiel, um an zwei Funktionen zu arbeiten und hin und her zu wechseln). In Git checken Sie einfach einen anderen Zweig aus.
14
James Wierzba

Ist der einzige Nachteil von Git die Befehlszeilenschnittstelle (einige würden argumentieren, dass das kein Nachteil ist ;-P).

Wenn Sie mit der Befehlszeilenschnittstelle nicht vertraut sind, stehen für Git mehrere GUI-Frontends zur Verfügung. Git selbst enthält das GUI-Tool des Repository-Browsers namens gitk und git-gui - eine GUI für Git. Dann gibt es Apps von Drittanbietern wie Git-Cola , TortoiseGit und andere .

4
kralyk