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:
*.vcproj.*.user
*.ncb
*.aps
*.suo
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.