Git lietošana ar Visual Studio

Kā ilggadējs Visual SourceSafe lietotājs (un ienaidnieks) es ar kolēģi apspriedos par pāreju uz SVN; viņš ieteica tā vietā izmantot Git. Tā kā, acīmredzot, to var izmantot kā peer-to-peer bez centrālā servera (mēs esam 3 izstrādātāju komanda).

Tomēr man nav izdevies atrast neko par rīkiem, kas integrē Git ar Visual Studio - vai kaut kas tāds eksistē?

Kādas tehnoloģijas ir pieejamas Git izmantošanai kopā ar Visual Studio? Un kas man ir jāzina par to, kā tās atšķiras, pirms es sāku?

Risinājums
  1. gada janvārī Microsoft paziņoja, ka visiem saviem ALM produktiem pievieno pilnīgu Git atbalstu. Viņi ir publicējuši spraudni Visual Studio 2012, kas pievieno Git avota kontroles integrāciju.

Kā alternatīva ir projekts Git Extensions, kas ietver papildinājumus Visual Studio 2005, 2008, 2010 un 2012, kā arī Windows Explorer integrāciju. Tas tiek regulāri atjaunināts, un, izmantojot to vairākos projektos, es to esmu uzskatījis par ļoti noderīgu.

Vēl viena iespēja ir Git Source Control Provider.

Komentāri (21)

Es izmantoju Git kopā ar Visual Studio, lai pārnestu protokola buferus uz C#. Es neizmantoju grafisko interfeisu - es vienkārši turu atvērtu komandrindu, kā arī Visual Studio.

Lielākoties viss ir kārtībā - vienīgā problēma ir tad, kad vēlaties pārdēvēt failu. Gan Git, gan Visual Studio gribētu, lai viņš būtu tas, kas to pārdēvē. Tomēr es domāju, ka pārdēvēšana Visual Studio ir pareizais veids, kā to darīt, tikai jābūt uzmanīgiem, ko pēc tam darāt Git pusē. Lai gan pagātnē tas ir sagādājis zināmas grūtības, esmu dzirdējis, ka patiesībā Git pusē tam vajadzētu būt diezgan nevainojamam, jo tā var pamanīt, ka saturs lielākoties būs vienāds. (Parasti tas nav pilnīgi tas pats - jūs mēdzat pārdēvēt failu, kad pārdēvējat klasi, IME.)

Bet būtībā - jā, tas darbojas labi. Es esmu Git iesācējs, bet varu panākt, lai tas dara visu, kas man vajadzīgs. Pārliecinieties, ka jums ir git ignore fails bin un obj, un *.user.

Komentāri (13)

Man šķiet, ka Git, strādājot ar veseliem kokiem, mazāk iegūst no IDE integrācijas nekā avota kontroles rīki, kas ir vai nu balstīti uz failiem, vai arī darbojas pēc modeļa izrakstīt-rediģēt-nodot. Protams, ir gadījumi, kad var būt patīkami noklikšķināt uz pogas, lai veiktu kādu vēstures pārbaudi, bet man tas īpaši netrūkst.

Patiesais obligātais uzdevums ir nodrošināt, lai jūsu .gitignore fails būtu pilns ar lietām, kurām nevajadzētu atrasties koplietošanas repozitorijā. Manā failā parasti ir (starp citām lietām):

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

bet tas ir ļoti tendēts uz C++, un tajā ir maz vai vispār nav izmantota klases vedņa stila funkcionalitāte.

Mans lietošanas modelis ir apmēram šāds.

  1. Kodēt, kodēt, kodēt Visual Studio.

  2. Kad esat apmierināts (saprātīgs starpposma punkts, lai nodotu kodu, pārslēdziet uz Git, veiciet izmaiņas un pārskatiet atšķirības. Ja kaut kas ir acīmredzami nepareizi, pārslēdziet atpakaļ uz Visual Studio un labojiet, pretējā gadījumā izdariet izmaiņas.

Jebkādu apvienošanu, filiāļu veidošanu, atzarošanu, pārbāzi vai citas SCM lietas ir viegli izdarīt Git no komandrindas. Visual Studio parasti ir diezgan apmierināta ar izmaiņām, kas tajā tiek veiktas, lai gan dažreiz var būt nepieciešams pārlādēt dažus projektus, ja esat būtiski mainījis projekta failus.

Man šķiet, ka Git lietderība atsver nelielas neērtības, ko rada tas, ka nav pilnīgas IDE integrācijas, bet tas zināmā mērā ir gaumes jautājums.

Komentāri (10)