Tento článek se zabývá postupem, jak pracovat a vyvíjet na projektu uloženém v git repozitáři pomocí vývojářského prostředí VisualStudia 2017.
Stažení projektu
Nejprve je třeba si udělat lokální kopii projektu. Nejčastěji se využívá odkazu založeném na HTTPS nebo SSH. V GitLabu se odkaz nachází na stránce detailu projektu.

Odkaz si zkopírujeme a otevřeme si VisualStudio. Po otevření přejdeme do okna Team Explorer a přepneme se do správy propojených repozitářů . V sekci Local Git Repositories klikneme na akci Clone a vložíme zkopírovaný odkaz na projekt. Poté vybereme umístění, kde se má lokální kopie projektu vytvořit.


Pokud chceme začít pracovat v rámci některého projektu z repozitáře, můžeme vyprat Solution přímo z adresářové struktury, která se nám otevřela v Solution Exploreru. Pokud máme VisualStudio připojeno k repozitáři, můžeme také využít Team Exploreru. Ve výchozím zobrazení se v sekci Solutions zobrazují všechny dostupné .sln soubory obsažené v repozitáři.
V případě, že je VisualStudio v pořádku připojeno k repozitáři, je ve stavové liště VisualStudia zobrazen podrobný přehled o aktuálním stavu.

Zobrazované informace zleva:
- Počet změn čekajících na synchronizaci
- Počet uložených změn (commitů)
- Název aktuálního repozitáře
- Název aktuální větve

Vývoj
Vytvoření větve
Pokud máme zadaný nějaký tiket, můžeme se vrhnout do práce. V rámci zachování Best Practices se každá nová funkcionalita, oprava chyby, nebo úprava již stávajícího řešení provádí v separátní větvi. Na přehled vývojových větví se dostaneme pomocí tlačítka Branches v okně Team Exploreru v sekci Project na výchozí obrazovce, nebo pomocí rozklikávacícho menu hned pod horní nástrojovou lištou Team Exploreru. Novou větev pak můžeme vytvořit pomocí akce New Branch.


Podle konvencí začíná název větve slovem feature. Název větve může být pro přehlednost shodný s názvem tiketu. V názvu větve se ale bohužel nesmí objevovat mezery, proto je vhodné je nahradit nějakým zástupným znakem (v tomto případě podtržítkem _). Takto vytvořená větev se nyní nachází pouze v lokální kopii projektu. (Prázdnou větev můžeme do repozitáře uložit pomocí kliku pravým tlačítkem myši a výběrem akce Push)
Uložení změn
Nyní můžeme v klidu vyvíjet…
Jakmile uděláme nějaké změny, aktualizují se nám informace ve stavovém řádku.

Potom, co máme práci hotovou, můžeme si změny uložit. K uloženým změnám se pak můžeme případně pohodlně vracet. Proto je vhodné provádět uložení změn po každém logickém bloku odvedené práce. Popis změn by měl vždy být vypovídající a čitelný. V případě integrace tiketovacího nástroje (JIRA, TargetProcess,…), může také obsahovat id tiketu. Změny se tak mohou pohodlně propsat.


Při uložení máme několik způsobů jak propagovat změny do repozitáře:
- Commit All – Uloží všechny změny pouze lokálně
- Commit All and Push – Uloží změny lokálně a také založí aktuální vývojovou větev do repozitáře (využívá se pokud větev existuje pouze lokálně)
- Commit All and Sync – Uloží změny lokálně, sesynchronizuje případné změny z repozitáře a v případě, že nedošlo ke konfliktu, sesynchronizuje zpět do repozitáře
V případě, že provedeme uložení změn pouze lokálně, aktualizuje se informace ve stavovém řádku a bude indikovat, kolik provedených změn ještě čeká na zápis do repozitáře.

Přepínání mezi větvemi
Mezi větvemi se můžeme libovolně přepínat, jediný požadavkem je, mít před přepnutím uložené všechny provedené změny (alespoň lokálně). V přehledu větví v Team Exploreru můžeme najít také větve, které jsou pouze v repozitáři (online). Dvojklikem na danou větev se stáhne lokální kopie (pokud už není) a prostředí se přepne do této větve.
Pokud začnete pracovat na vývoji v už existující větvi, kterou máte staženou lokálně, je vždy lepší nejdříve provést její synchronizaci s repozitářem.
Zdroje: