Jak na GIT server

Tento návod popisuje, jak si nastavit vlastní GIT server.

Jako první vytvoříme nového uživatele git, vytvoříme si adresář, kde budeme vytvářet naše GIT repozitáře a přihlásíme jako uživatel git.

adduser git
mkdir /git
chown git:git /git
su git

Jako další vytvoříme prázdný git repozitář s názvem projekt.git.

cd /git
mkdir project.git
git --bare init

Nyní jsme vytvořili prázdný repozitář s názvem projekt.git, který ještě neobsahuje pracovní adresář, ten se vytvoří, jakmile nahrajeme první verzi našeho projektu na náš GIT server. Nyní se teda můžeme odhlásit a přihlásíme se na počítači, kde budeme s projektem pracovat.

Teď si vytvoříme naši první verzi projektu, nastavíme spojení a nahrajeme ji, tím se nám na GIT serveru vytvoří pracovní adresář a náš projekt bude připravený a přístupný přes GIT.  Jako první soubor, který náš projekt bude obsahovat bude soubor README, který není důležitý, ale je doporučené ho mít a napsat do něho něco o projektu. Pokud ho nechceme, klidně tam můžeme rovnou zkopírovat neby vytvořit soubory k našemu projektu.

mkdir muj_projekt
cd muj_projekt
git init
touch README
git add .
git commit -m 'prvotni nastaveni'
git remote add origin git@gitserver:/git/project.git
git push origin master

Tímto je náš projekt připraven na GIT serveru. Příkaz git init inicializoval adresář jako GIT projekt, git add . zaindexoval všechny soubory, git commit potvrdil provedené změny, git remote add nastavil cestu k našem GIT repozitáři a git push nahrál náš projekt na GIT server do repozitáře project.git.

Nyní na dalším počítači si hned můžeme my nebo další uživatelé, co s ním budou pracovat, stáhnout soubory z repozitáře pomocí:

git clone git@gitserver:/git/project.git

Příkaz vytvoří složku projekt a do ní nahraje všechny soubory z repozitáře. Jakmile provedeme nějaké změny v projektu a budeme je chtít nahrát na server tak potvrdíme změny a nahrajeme do našeho GIT repozitáře:

git add .
git commit -m 'provedeny zmeny'
git push origin master

Pokud chceme aktualizovat náš pracovní adresář s projektem z našeho GIT repozitáře, provedeme to pomocí příkazu git pull nebo git checkout.

git pull

nebo

git checkout

Dále ještě možná budeme chtít omezit uživatele git provádět pouze git příkazy. Přihlásíme se tak na server a editujeme soubor /etc/passwd.

vi /etc/passwd

Měli bychom tam najít řádek, který bude vypadat přibližně takto: git:x:1000:1000::/home/git:/bin/sh. Zaměníme ho za:

git:x:1000:1000::/home/git:/usr/bin/git-shell

Ještě je dobré si nastavit uživatelské jméno a e-mail, protože jakmile potvrdíte nějaké změny pomocí git commit -m 'komentář', tak se do logu automaticky zapíše uživatel a jeho e-mail. Tyto údaje nastavíte globálně takto:

git config --global user.name "Vaše jméno"
git config --global user.email vas@email.cz

nebo si ručně vytvořte v domovském adresáři soubor .gitconfig

vi ~/.gitconfig

a do něho vložte:

[user]
        name = Vaše jméno
        email = vas@email.cz

Tak toto je asi vše pro základní nastavení vlastního GIT serveru, dále si můžete nastavit třeba přihlašovaní pomocí SSH klíčů, ale to zase v jiném návodu.