Používanie systému Git s aplikáciou Visual Studio

Ako dlhoročný používateľ Visual SourceSafe (a hater) som diskutoval s kolegom o prechode na SVN; navrhol namiesto toho používať Git. Keďže sa vraj dá používať ako peer-to-peer bez centrálneho servera (sme tím 3 vývojárov).

Nepodarilo sa mi však nájsť nič o nástrojoch, ktoré integrujú Git s Visual Studiom - existuje niečo také?

Aké technológie sú k dispozícii na používanie systému Git so softvérom Visual Studio? A čo potrebujem vedieť o tom, ako sa líšia, skôr než začnem?

Riešenie

V januári 2013 spoločnosť Microsoft oznámila, že pridáva plnú podporu Git do všetkých svojich produktov ALM. Uverejnili zásuvný modul pre Visual Studio 2012, ktorý pridáva integráciu správy zdrojov Git.

Alternatívne existuje projekt s názvom Git Extensions, ktorý obsahuje doplnky pre Visual Studio 2005, 2008, 2010 a 2012, ako aj integráciu s Prieskumníkom Windows. Je pravidelne aktualizovaný a po jeho použití na niekoľkých projektoch som ho považoval za veľmi užitočný.

Ďalšou možnosťou je Git Source Control Provider.

Komentáre (21)

Na portovanie Protocol Buffers do jazyka C# používam Git s Visual Studio. Nepoužívam grafické rozhranie - mám otvorený príkazový riadok a Visual Studio.

Väčšinou je to'v poriadku - jediný problém je, keď chcete premenovať súbor. Git aj Visual Studio by boli radšej, keby ho premenovali oni. Myslím si však, že premenovanie vo Visual Studiu je správna cesta - len si dajte pozor, čo potom urobíte na strane Gitu. Hoci to v minulosti bolo trochu otravné, počul som, že na strane Gitu by to vlastne malo byť celkom bezproblémové, pretože si môže všimnúť, že obsah bude väčšinou rovnaký. (Zvyčajne nie úplne rovnaký - pri premenovaní triedy máte tendenciu premenovať súbor, IME.)

Ale v podstate - áno, funguje to dobre. Som nováčik v systéme Git, ale dokážem ho prinútiť, aby robil všetko, čo potrebujem. Uistite sa, že máte súbor git ignore pre bin a obj a *.user.

Komentáre (13)

Zistil som, že Git, ktorý pracuje s celými stromami, má z integrácie IDE menší úžitok ako nástroje na kontrolu zdrojov, ktoré sú buď založené na súboroch, alebo sa riadia vzorom checkout-edit-commit. Samozrejme, sú prípady, keď môže byť príjemné kliknúť na tlačidlo a urobiť nejaký prieskum histórie, ale to mi veľmi nechýba.

Skutočnou povinnou jazdou je mať súbor .gitignore plný vecí, ktoré by'nemali byť v zdieľanom úložisku. Môj spravidla obsahuje (okrem iných vecí) nasledujúce:

*.vcproj.*.user
*.ncb
*.aps
*.suo

ale to je silne zaujaté C++ s malým alebo žiadnym použitím akejkoľvek funkcie v štýle sprievodcu tried.

Môj vzor používania je niečo podobné.

  1. Kód, kód, kód v aplikácii Visual Studio.

  2. Keď ste spokojní (rozumný medzičlánok na odovzdanie kódu, prepnite na Git, vykonajte zmeny a skontrolujte rozdiely. Ak je niečo'zjavne zle, prepnite späť do Visual Studia a opravte, inak odovzdajte.

Akékoľvek zlučovanie, vetvenie, rebase alebo iné vymyslené veci SCM sa dajú ľahko vykonať v systéme Git z príkazového riadku. Visual Studio je zvyčajne celkom spokojné s tým, že sa pod ním veci menia, hoci niekedy môže potrebovať znovu načítať niektoré projekty, ak ste výrazne zmenili projektové súbory.

Myslím si, že užitočnosť systému Git prevažuje nad drobnými nepríjemnosťami vyplývajúcimi z absencie úplnej integrácie IDE, ale do istej miery je to otázka vkusu.

Komentáre (10)