Správce verzí se hodí nejen v situacích, kdy je potřeba sdílet kód mezi více uživately/programátory, ale i sami pro sebe. Výhoda je například v tom, že kódy budou dostupné prakticky kdykoliv a kdekoliv. Navíc je možné nahlédnout do jejich historie a tak řešit případné problémy se zpětnou kompatibilitou.
Existuje nepřeberné množství správců verzí, některé z nich jsou specializované pro některé jazyky, některé jsou centralizované, některé distribuované. Jedním z distribuovaných a zároveň zdarma dostupným je GIT – konkrétně projekt github.com. Zde si můžete zcela zdarma založit svůj osobní účet, omezení ve verzi zdarma je v tom, že všechny repozitáře musí být veřejně přístupné.
Když už máte založený účet, bude potřeba do něj nahrát obsah, který je potřeba verzovat/distribuovat.
Nejdříve je nutné přes webové rozhraní vytvořit nový repozitář. Nakonfigurovat lokální instanci git pomocí následujících příkazů.
$ git config --global user.email "e-mail@host" $ git config --global user.name "Jmeno Prijmeni"
Po této konfiguraci přijde čas na stažení aktuálního stavu repozitáře.
git clone https://github.com/uzivatel/repozitar.git
V tuto chvíli už máte stažený aktuální stav vaší práce. Můžete dělat úpravy, které chcete. Po tom, co jsou úpravy hotové, je nutné je nahrát zpět do repozitáře.
$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: zmeneny.soubor #
Výše zmíněný zmeneny.soubor byl modifikován v lokální kopii repozitáře, je nutné ho přidat do verzovacího systému – git add. Přidávání se dělá pro každý soubor právě jednou. Poté co už je soubor jednou přidaný, vytváří se už jenom jeho verze.
git add zmeneny.soubor git commit -m "Zmena se projevi"
Pomocí příkazu git commit uložíme nové verze změněných souborů. Zatím se vše dělo v lokálním repozitáři, nikdo tedy vaše změny stále nemůže vidět.
Pokud jste se stavem vašich změn spokojeni, můžete je uložit (odeslat) do sdíleného repozitáře.
$ git remote add origin https://github.com/uzivatel/Bash $ git push origin master