Als langjähriger Visual SourceSafe- Benutzer (und Hasser) diskutierte ich mit einem Kollegen über den Wechsel zu SVN . er schlug stattdessen vor, Git zu verwenden. Da es anscheinend als Peer-to-Peer ohne zentralen Server verwendet werden kann (wir sind ein 3-Entwickler-Team).
Ich konnte jedoch nichts über Tools finden, die Git in Visual Studio integrieren - gibt es so etwas?
Welche Technologien stehen für die Verwendung von Git mit Visual Studio zur Verfügung? Und was muss ich wissen, wie sie sich unterscheiden, bevor ich anfange?
visual-studio
git
Herb Caudill
quelle
quelle
Antworten:
Im Januar 2013 gab Microsoft bekannt, dass alle ALM-Produkte von Git unterstützt werden. Sie haben ein Plugin für Visual Studio 2012 veröffentlicht, das die Integration der Git-Quellcodeverwaltung hinzufügt.
Alternativ gibt es ein Projekt namens Git Extensions , das Add-Ins für Visual Studio 2005, 2008, 2010 und 2012 sowie die Windows Explorer-Integration enthält. Es wird regelmäßig aktualisiert und nachdem ich es für einige Projekte verwendet habe, fand ich es sehr nützlich.
Eine weitere Option ist Git Source Control Provider .
quelle
Ich verwende Git mit Visual Studio für meinen Port von Protokollpuffern nach C #. Ich benutze die GUI nicht - ich halte nur eine Befehlszeile offen sowie Visual Studio.
Zum größten Teil ist es in Ordnung - das einzige Problem ist, wenn Sie eine Datei umbenennen möchten. Sowohl Git als auch Visual Studio möchten lieber, dass sie es umbenennen. Ich denke, dass das Umbenennen in Visual Studio der richtige Weg ist - seien Sie vorsichtig, was Sie danach auf der Git-Seite tun. Obwohl dies in der Vergangenheit ein bisschen schmerzhaft war, habe ich gehört, dass es auf der Git-Seite eigentlich ziemlich nahtlos sein sollte, da es feststellen kann, dass der Inhalt größtenteils der gleiche sein wird. (Normalerweise nicht ganz dasselbe - Sie neigen dazu, eine Datei umzubenennen, wenn Sie die Klasse IME umbenennen.)
Aber im Grunde - ja, es funktioniert gut. Ich bin ein Git-Neuling, aber ich kann es dazu bringen, alles zu tun, was ich brauche. Stellen Sie sicher, dass Sie eine Git-Ignorierdatei für bin und obj und * .user haben.
quelle
Git Source Control Provider ist ein neues Plug-In, das Git in Visual Studio integriert.
quelle
Ich habe mich bei der Arbeit ein wenig damit beschäftigt (sowohl mit Subversion als auch mit Git). Visual Studio verfügt über eine API zur Integration der Quellcodeverwaltung, mit der Sie Quellcodeverwaltungslösungen von Drittanbietern in Visual Studio integrieren können. Die meisten Leute kümmern sich jedoch aus mehreren Gründen nicht darum.
Das erste ist, dass die API so ziemlich davon ausgeht, dass Sie einen Workflow mit gesperrtem Checkout verwenden. Es gibt viele Hooks, deren Implementierung entweder sehr teuer ist oder die einfach keinen Sinn ergeben, wenn Sie den moderneren Workflow zum Bearbeiten und Zusammenführen verwenden.
Das zweite (was damit zusammenhängt) ist, dass Sie die Visual Studio-Integration nicht wirklich benötigen , wenn Sie den von Subversion und Git empfohlenen Workflow zum Bearbeiten und Zusammenführen verwenden . Das Wichtigste an der Integration von SourceSafe in Visual Studio ist, dass Sie (und der Editor) auf einen Blick erkennen können, welche Dateien Sie besitzen, welche vor dem Bearbeiten ausgecheckt werden müssen und welche Sie nicht auschecken können, selbst wenn Sie möchten. Dann kann es Ihnen helfen, das Voodoo zur Revisionskontrolle auszuführen, das Sie zum Bearbeiten einer Datei benötigen. Nichts davon ist Teil eines typischen Git-Workflows.
Wenn Sie Git (oder normalerweise SVN) verwenden, finden Ihre Revisionskontrollinteraktionen entweder vor oder nach Ihrer Entwicklungssitzung statt (sobald alles funktioniert und getestet wurde). Zu diesem Zeitpunkt ist es wirklich nicht allzu schmerzhaft, ein anderes Werkzeug zu verwenden. Sie müssen nicht ständig hin und her wechseln.
quelle
Ich finde, dass Git, das an ganzen Bäumen arbeitet, weniger von der IDE-Integration profitiert als Tools zur Quellcodeverwaltung, die entweder dateibasiert sind oder einem Checkout-Edit-Commit-Muster folgen. Natürlich gibt es Fälle, in denen es schön sein kann, auf eine Schaltfläche zu klicken, um eine Geschichtsprüfung durchzuführen, aber das vermisse ich nicht sehr.
Das eigentliche Muss ist, Ihre .gitignore-Datei mit den Dingen zu füllen, die sich nicht in einem gemeinsam genutzten Repository befinden sollten. Meine enthalten im Allgemeinen (unter anderem) Folgendes:
Dies ist jedoch stark C ++ voreingenommen, da keine oder nur wenige Funktionen des Klassenassistenten verwendet werden.
Mein Nutzungsmuster ist ungefähr so.
Code, Code, Code in Visual Studio.
Wenn Sie zufrieden sind (sinnvoller Zwischenpunkt zum Festschreiben von Code, wechseln Sie zu Git, führen Sie Änderungen durch und überprüfen Sie Unterschiede. Wenn etwas offensichtlich falsch ist, wechseln Sie zurück zu Visual Studio und beheben Sie es, andernfalls legen Sie fest.
Alle Zusammenführungen, Verzweigungen, Neueinstellungen oder andere ausgefallene SCM-Aufgaben können in Git einfach über die Eingabeaufforderung ausgeführt werden. Visual Studio ist normalerweise ziemlich zufrieden mit Änderungen, obwohl es manchmal einige Projekte neu laden muss, wenn Sie die Projektdateien erheblich geändert haben.
Ich finde, dass die Nützlichkeit von Git die kleinen Unannehmlichkeiten überwiegt, wenn keine vollständige IDE-Integration vorhanden ist, aber es ist bis zu einem gewissen Grad Geschmackssache.
quelle
git rm <file>
undecho <file> >>.gitignore; git add .gitignore
auf die Tipps Ihrer aktiven Filialen. Sobald Sie die Änderung festgeschrieben haben, können Sie den Fix jederzeit auf andere Zweige übertragen.Microsoft hat kürzlich Git für Visual Studio 2012 (Update 2) angekündigt . Ich habe noch nicht damit herumgespielt, aber dieses Video sieht vielversprechend aus.
Hier finden Sie eine kurze Anleitung zur Verwendung von Git aus Visual Studio 2012.
quelle
Verpassen Sie auch nicht TortoiseGit ... https://tortoisegit.org/
quelle
Es gibt Visual Studio Tools für Git von Microsoft. Es wird jedoch nur Visual Studio 2012 (Update 2) unterstützt.
quelle
Visual Studio 2013 unterstützt Git nativ.
Siehe die offizielle Ankündigung .
quelle
Die Git-Unterstützung von Microsoft in Visual Studio ist gerade gut genug für grundlegende Arbeiten (Commit / Fetch / Merge und Push). Mein Rat ist nur, es zu vermeiden ...
Ich bevorzuge GitExtensions (oder in geringerem Anteil SourceTree ). Weil es für mich sehr wichtig ist , die DAG zu sehen, um zu verstehen, wie Git funktioniert. Und Sie wissen viel besser, was die anderen Mitwirkenden an Ihrem Projekt getan haben!
In Visual Studio können Sie den Unterschied zwischen Dateien oder Commit nicht schnell erkennen oder (nur zum Index hinzufügen) und nur einen Teil der Änderungen festschreiben. Durchsuchen Sie Ihre Geschichte ist auch nicht gut ... All das endet in einer schmerzhaften Erfahrung!
Und zum Beispiel ist GitExtensions mit interessanten Plugins gebündelt: Hintergrundabruf, GitFlow, ... und jetzt kontinuierliche Integration !
Für die Benutzer von Visual Studio 2015 nimmt Git Gestalt an, wenn Sie die GitHub-Erweiterung installieren. Aber ein externes Tool ist noch besser ;-)
quelle
TortoiseGit ist gereift und ich empfehle es besonders, wenn Sie TortoiseSVN verwendet haben.
quelle
Die neueste Version von Git Extensions unterstützt jetzt Visual Studio 2010 (zusammen mit Visual Studio 2008 und Visual Studio 2005 ).
Ich fand es ziemlich einfach mit Visual Studio 2008 zu verwenden und die Oberfläche scheint in Visual Studio 2010 dieselbe zu sein.
quelle
Die einfachste Lösung, die tatsächlich recht gut funktioniert, besteht darin, die TortoiseGit-Befehle als externe Tools hinzuzufügen.
Lösung zum Hinzufügen einer Git-Symbolleiste (TortoiseGit) zu Visual Studio
quelle
Wie von Jon Rimmer beschrieben, können Sie GitExtensions verwenden. GitExtensions funktioniert in Visual Studio 2005 und Visual Studio 2008, es funktioniert auch in Visual Studio 2010, wenn Sie die ADDIN-Datei manuell kopieren und konfigurieren.
quelle
Derzeit gibt es in Visual Studio (2010 und 12) zwei Optionen für Git Source Control:
Ich habe beide ausprobiert und festgestellt, dass der erste reifer ist und mehr Funktionen hat. Zum Beispiel spielt es gut mit Schildkrötengit und Git-Erweiterungen und zeigt sogar deren Merkmale.
Hinweis : Unabhängig davon, welche Erweiterung Sie verwenden, stellen Sie sicher, dass Sie sie aktivieren, damit
Tools -> Options -> Source control -> Plugin Selection
sie funktioniert.quelle
Ab dem 11.02.2013 sollte das Microsoft Git-Plugin für Visual Studio 2012 auch mit der Express-Version funktionieren .
quelle