Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 58, views: 15.675 •

Microsoft heeft ondersteuning voor Git toegevoegd aan Visual Studio 2012. Het is de eerste keer dat de ontwikkelsoftware van Microsoft ondersteuning krijgt voor gedecentraliseerd versiebeheer. Ook Microsofts Team Foundation Server krijgt ondersteuning voor Git.

Vanaf nu kunnen Visual Studio-ontwikkelaars samenwerken via Git, heeft Microsoft-medewerker Brian Harry bekendgemaakt op zijn MSDN-weblog. Git is een systeem voor gedecentraliseerd versiebeheer, dat oorspronkelijk door Linux-aartsvader Linus Torvalds is ontwikkeld. Bij Git en vergelijkbare systemen heeft elke ontwikkelaar een volledige kopie van het project op zijn lokale hardeschijf, waarbij veranderingen worden gecommit naar een Git-repository.

Harry schrijft dat Microsoft al langer nadacht over het invoeren van ondersteuning voor gedecentraliseerd versiebeheer, en dat onder meer werd nagedacht over het bouwen van een eigen tool, het kopen van een bestaande tool of het inbouwen van ondersteuning voor een opensource-tool zoals Git of Mercurial. Uiteindelijk is de keuze op Git gevallen vanwege het grote marktaandeel dat die standaard heeft. Gebruikers kunnen een eigen Git-repository opzetten of een bestaande gebruiken, zoals Github of BitBucket.

Ontwikkelaars die Visual Studio 2012 gebruiken kunnen vanaf nu een extensie downloaden waarmee ondersteuning voor Git wordt toegevoegd. Oudere versies krijgen vooralsnog geen ondersteuning. Ook de eerstvolgende versie van Team Foundation Server, die kan worden gebruikt voor het beheren van de ontwikkeling van softwareprojecten, krijgt ondersteuning voor Git. Team Foundation Service, de hosted-versie van Team Foundation Server, biedt vanaf nu al ondersteuning voor Git.

Tot nu toe ondersteunde Visual Studio enkel gecentraliseerd versiebeheer, waarbij er één centrale kopie van het project is waar elke wijziging naartoe moet worden gesubmit. Voordelen van gedecentraliseerd versiebeheer zijn onder meer de snelheid: niet elke wijziging hoeft direct te worden gesubmit. Daarnaast is het mogelijk om zonder internetverbinding aan een project te werken.

Git in Visual Studio

Reacties (58)

GIT is gewoon het meestgebruikte versiebeheer systeem van dit moment. Vroegah waren zij een van de eerste die VCS in gebruik namen en dit is gewoon de logische volgende stap.

Hopelijk implementeren ze het een beetje degelijk, het mooie van git is juist dat je van overal naar overal kan syncen en pushen e.d, niet dat het word gebruikt als een soort lompe VCS vervanger die naar 1 server synchroniseerd. Is een fout die veel mensen maken als ze van gecentralizeerd naar gedecentralizeerd versiebeheer gaan, en op zich kan je wel gewoon je oude workflow gebruiken maar git kan zoveel meer dat het gewoon doodzonde zou zijn.
Los daarvan sowieso een vooruitgang imho, alleen hoop ik dat ze het gelijk goed doen :)

[Reactie gewijzigd door Alex_dragon op 31 januari 2013 10:48]

Dat is niet waar, GIT is wel flavor of the month, maar SVN is (nog?) veel groter.

http://programmers.stacke...ularity-of-git-versus-svn

Mijn ervaring (en die van de ontwikkelaars met wie ik samenwerk) met beide systemen is dat GIT over het algemeen niet veel toevoegd behalve een extra commit stap.

De snelheid is volgens mij niet veel anders, als je gewoon een snelle SVN server hebt dan commit je met gemak duizenden files.

En offline werken, hoe vaak komt dat nou voor..
Lokale repositories dienen niet alleen voor offline werken. Het dient ook voor om zelf een mooie history te houden en dan een feature branch te pushen zodat je pushes en merges meteen werken.

Alle operaties gebeuren ook op de lokale repository dus het wel degelijk sneller dan een CVS. (Dit gaat op voor DCVS in het algemeen). Het gaat dus niet om alleen maar commiten maar ook een grote historie bekijken, diffs doen ect. Als je niet hebt gemerkt dat een DCVS in die dingen sneller is dan heb je of het niet lang genoeg geprobeerd of een klein project gehad.

Branching en merging werkt in mijn ervaring ook veel beter in GIT. In TFS en SVN heb ik al meerdere malen rare merge errors gehad en rare problemen gehad.
In TFS en SVN heb ik al meerdere malen rare merge errors gehad en rare problemen gehad.
Ik ook! En ik ben echt blij dat ik op git ben overgestapt. Wat een verademing zeg! Supersnel en vooral het gedistribueerde karakter vind ik echt fijn om mee te werken.

Mijn enige wens is nu dat er eindelijk een keer een versioning filesystem komt voor linux. (Staat los van een cvs natuurlijk maar desalniettemin handig om te hebben). Nu git klaar is, is dat misschien wel een leuk volgend projectje voor Linus Torvalds :)

Verder, ik snap al die mensen niet die zonodig in een IDE willen werken. In principe kon je git namelijk al lang gebruiken onder windows. Maar ja, als je IDE het niet ondersteunt...
Mijn ervaring (en die van de ontwikkelaars met wie ik samenwerk) met beide systemen is dat GIT over het algemeen niet veel toevoegd behalve een extra commit stap.
Nouja, branchen dat werkt en mergen dat werkt zijn sowieso al twee grote dingen die Git een stuk beter doet dan SVN. Die extra commit stap zorgt er o.a. voor dat je minder vaak de build stukmaakt en je geschiedenis een stuk schoner wordt (omdat je je commits nog na kunt kijken voordat je ze met je collega's deelt)

Maar dat soort workflows denkt men niet eens aan voordat ze met een moderner VCS werken dan SVN.
"Mijn ervaring ... met beide systemen is dat GIT over het algemeen niet veel toevoegd behalve een extra commit stap."
Dan heb je duidelijk maar in een hele beperkte mate van de functionaliteiten van Git gebruik gemaakt, want Git voegt wel degelijk heel veel extra waarde toe. Probeer maar eens deftig gebruik te maken van branches in Subversion en probeer het nadien in Git.
Als je natuurlijk Únkel en alleen files commit en update in Subversion en het daar bij laat biedt Git inderdaad niet veel extra. Maar datzelfde kan je dan zeggen over Subversion in vergelijking met Microsoft Visual Sourcesafe ook....
Mee eens. Veel gebruikers die van SVN een overstap maken naar GIT proberen 'SVN te doen in GIT'. Ze behouden hun oude workflow en proberen GIT zo te buigen dat het die workflow ondersteunt.
De kracht van GIT zit hem wat mij betreft in de lokale commits en gemakkelijke branching. Wanneer je voor iedere bug / feature een nieuwe branche maakt en deze terugmerged in je mainbranche, houdt je goed overzicht en daarnaast altijd een werkzame repository zonder local modifications. :*)
Een van de grote voordelen van git is bisect. Je kunt als eindgebruiker van opensource software daarmee veel sneller bugs traceren naar een foute commit.
Mij heeft dit artikel http://nvie.com/posts/a-successful-git-branching-model/ geholpen in te zien waar GIT's sterke punten liggen. Hierdoor kreeg VC eindelijk een logisch karakter.
Bij Git en vergelijkbare systemen heeft elke ontwikkelaar een volledige kopie van het project op zijn lokale hardeschijf, waarbij veranderingen worden gecommit naar een Git-repository.
Dat is eigenlijk bij alle VCS'en zo. Het grote verschil is dat bij een DVCS ook de complete historie lokaal gehouden wordt.

Mooi dat er eindelijk goede integratie beschikbaar is. Er was al wel het een en ander mogelijk met scripts, maar volledige integratie werkt toch wel een stuk beter.

Overigens is het niet nieuw dat MS ook git ondersteund. Bij bijvoorbeeld Azure wordt ook al deployment via Git ondersteund, dus het was te verwachten dat MS dit op den duur ook in VS gaat ondersteunen.

[Reactie gewijzigd door Woy op 31 januari 2013 10:36]

Dat bedoelen ze denk ik met volledige kopie (geen verschil tussen server en client) versus een kopie (checkout).
Mooie toevoeging, kudo's aan microsoft dat ze meegaan met een goede bestaande open source tool ipv een eigen proprietary protocol te gebruiken.
Ideaal. :) Ik gebruik Git al lang in mijn PHP projecten. Het is een enorm krachtige tool voor het beheren van je pronbroncode.

Ik denk dat het misschien nu ook makkelijker word om .NET applicaties op GitHub te krijgen bijvoorbeeld. Ik zie maar relatief weinig open source projecten die met dit framework zijn gebouwd.

[Reactie gewijzigd door Nardon op 31 januari 2013 12:50]

Die projecten zitten ook vaak op CodePlex :)
pr0ncode? Heel vies geprogrammeerd zeker :P
Nee, zo mooi en elegant dat devs er een stijve van krijgen... O-)
Wahaha, oeps.. het ging fout toen ik van programma's, broncode maakte.. xD
Het is dus eigenlijk nog steeds een centraal systeem (Git-repository als centraal punt), enkel ben je er minder van afhankelijk omdat je een lokale kopie maakt.
Nee. Het is echt een gedecentraliseerd systeem. Zie wikipedia page.

Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server.

http://en.wikipedia.org/wiki/Git_(software)
ja, dat klopt, maar zo gedecentraliseerd is het echt niet hoor, je hebt nog steeds een server nodig waar het uiteindelijk weer op teruggezet moet worden wil je het kunnen sharen met anderen.. Het is dat je een complete lokale kopie hebt...
Volgens mij haal je wat begrippen door elkaar... Dat iets op een server staat, wil niet zeggen dat het gecentraliseerd is.
Gevoelsmatig heb je gelijk, het enige verschil bij zo een server is dat er een Git-service draait wat mogelijk maakt dat iedereen vanuit dat server het project kunt clonen. Maar buiten dat git-service (wat meestal een daemon op een Linux systeem is), is het verder exact hetzelfde als op je locale pc. Dus het is een echte decentrale beheerssysteem. Vandaar dat je 'git clone' genoemd wordt en niet 'git copy'
;)

Ik moet wel eerlijk zeggen, het heeft in het begin een steile leercurve, als je alles zelf moet uitzoeken. Maar tegenwoordig heb je zoveel documentatie en je kunt leuk experimenteren met text bestandjes...
Nee niet echt, met git kunnen gebruikers ook onderling commits uitwisselen zonder dat ze hiervoor contact hoeven te hebben met een eventuele centrale repository. Dit omdat elke commit een wereldwijde unieke id heeft. Een centrale repository wordt meestal gebruikt omdat het makkelijk is een altijd beschikbare repository te hebben ipv wachten tot je collega op kantoor is om zijn wijzigingen te importeren.
Snap niet echt al het ophef. Ik werk al lang met TFS voor source control, ik heb ook een lokale copy, ik kan ook disconnected werken en heb bij terug verbinden propere merge screens...
ik eerst ook niet maar kijk een naar http://git-scm.com/about/distributed een interresante workflow is bijvoorbeeld "Dictator and Lieutenants Workflow" nou kan je zoiets (mwet veel moeite) met TFS natuurlijk ook wel op zetten m.b.v verschillende branches, maar dat geeft meer gedoe. ik vind het best interresant als TFSer ;)
Zeker een goede stap. Ik vind het alleen jammer dat ze geen ondersteuning gaan bieden voor oudere versies van Visual Studio. Het blijft nu een beetje behelpen met tools zoals TortoiseGit, het werkt uiteindelijk wel maar je mist toch de integratie in Visual Studio zelf
Een beetje offtopic: als ik kijk naar de screenshot en dit vergelijk met de vormgeving van windows 3.11 / 95, zie ik zoveel gelijkenissen. Weinig kleur, vormgeving met pixelart; alsof er te weinig geheugen is zoals in de vroegere dagen.

Laat duidelijk zijn dat ik vindt dat een software-ontwikkelomgeving zo min mogelijk toeters en bellen hoeft te hebben. Dus de vormgeving vindt ik duidelijk geen minpunt.
Het is een paneel binnen Visual Studio? Wat wil je? Dat het constant je aandacht trekt zodat je niet doorwerkt? Ik vind de Metro UI geweldig om in te ontwikkelen, niks meer dat je aandacht trekt, behalve wat je aan het maken bent.
Leuk, maar wanneer gaat microsoft haar verouderde C-compiler eens updaten zodat moderne C-code ook met VC gecompileerd kan worden? Ik gebruik nu (tot volle tevredenheid overigens) MinGW.
Niet. Microsoft ziet geen brood meer in C. Het ondersteunen van de bestaande C89 frontend voor hun C++ compiler kost vrijwel niets, dus dat blijft.

De onderliggende reden is dat C99 niets toevoegt in vergelijking met C++. Een boolean type _Bool had C++ al sinds C++98, bijvoorbeeld. Nu C++11 alle mathematische functies uit C99 heeft overgenomen is ook dat argument vervallen.
"De onderliggende reden is dat C99 niets toevoegt in vergelijking met C++."

Dat vind jij. Als C-programmeur kijk ik daar heel anders tegenaan. Het gevolg is nu wel dat veel C-code niet gecompileerd kan worden m.b.v. VC. Gelukkig is er MinGW en hebben we VC dus niet nodig.
@keigezellig123: Voor VS2010 heeft iemand al een fatsoenlijke extension geschreven die Git ondersteuning toevoegt.
Die stomme reageer knopjes ook..

[Reactie gewijzigd door Caelorum op 31 januari 2013 10:47]

Dan ben ik benieuwd welke :)
Zelf gebruik ik in VS2010 Git Source Control Provider. Het heeft wel wat quirks af en toe, maar is in ieder geval voor mij werkbaar :). Je hebt ook nog Git Extensions.

[Reactie gewijzigd door Caelorum op 31 januari 2013 12:18]

Eindelijk!! Dit gaat mijn workflow zo drastisch verbeteren :)
Deze week nog problemen gehad met het pushen van mijn bewerkingen omdat ik in een extreem oude versie van een applicatie bewerkingen had gemaakt. Volgens mij kan SmartGit nu de deur uit, goede zet van Microsoft!
Wow dat heeft maar 8 jaar geduurd. Das ook niet lang.

Op dit item kan niet meer gereageerd worden.



Populair: Desktops Vliegtuig Luchtvaart Crash Smartphones Laptops Games Apple Besturingssystemen Rusland

© 1998 - 2014 Tweakers.net B.V. onderdeel van De Persgroep, ook uitgever van Computable.nl, Autotrack.nl en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013