Git

Z DCEwiki
Verze z 29. 10. 2008, 13:16, kterou vytvořil Keny (diskuse | příspěvky) (Zamyká „Git“ [edit=autoconfirmed:move=autoconfirmed])
Skočit na navigaci Skočit na vyhledávání

GIT je moderní SCM systém, který byl původně vytvořen pro správu zdrojových kódů linuxového jádra.[1]

Klienti

Soubor:git gui lin.png
Linuxový klient git-core
Soubor:git gui win.png
Klient msysgit na MS Windows XP

V linuxu je klient pro práci gitem ovykle součástí distribuce. Klienta pro MS Windows si můžete stáhnout z http://code.google.com/p/msysgit/

Tento klient umožňuje jak práci v CLI (příkazová řádka) tak i GUI (grafické rozhraní). Jak se můžete přesvědčit z přiložených screenshotů spouští se a vypadána linuxu i MS Windows podobně

Manuálů jak pracovat s gitem se válí po internetu celá řada..

Vytvoření git serveru

Pro zpřístupnění gitu přes www server apache je třeba následující postup:

Na straně www serveru

1
Na stroji musí být nainstalován balík git-core a pro apache povolen webdav
Poznámka
root@server:~# apt-get install git-core
root@server:~# a2enmod dav dav_fs
2
Vytvoří se adresář do kterého budou cpát klienti změny, a pak se pro tento adresář aktivuje git a aby mohli přistupovat do tohoto adresáře klienti přes webdav, musí se nastavit příslušná práva pro web server
Poznámka
root@server:/var/www/accesscontrol.git# git --bare init
Initialized empty Git repository in /var/www/accesscontrol.git/
root@server:/var/www/accesscontrol.git# chown -R www-data.www-data .
3
Pak se pro tento adresář nastaví konfiguračním souborem /etc/apache2/conf.d/git.conf webDAV
Poznámka
<Location /accesscontrol.git>
    DAV on
</Location>
4
Pokud chcete mít přístup do adresáře chráněný autorizací, rozšíříte tento konfigurační soubor o další volby..
Poznámka
<Location /accesscontrol.git>
    DAV on
    AuthType Basic
    AuthName "Git"
    AuthUserFile /var/www-pass/accesscontrol.pwd
    Require valid-user
</Location>
5
..a vytvoříte odpovídající soubor /var/www-pass/accesscontrol.pwd
6
Potom znovu načtete konfiguraci vašeho web serveru
Poznámka
root@server:~# /etc/init.d/apache2 force-reload
Upozornění Po předání změn z klienta na server (příkaz push) je na straně serveru třeba spoustit v repozitáři příkaz git-update-server-info. Aby nebylo nutné se na server přihlašovat a spouštět tento příkaz manuálně, je třeba nastavit souboru post-update v podadresáři hooks právo ke spouštění, a také umožnit přístup serveru do adresáře refs v podadresáři info.
root@server:/var/www/accesscontrol.git# chmod +x hooks/post-update
root@server:/var/www/accesscontrol.git# chown -cR www-data.www-data info/refs

Pochopitelně, pokud váš server běží pod jiným uživatelem, tak je třeba nastavit přístup pro něj.

Na straně klienta

user@klient:~/accesscontrol-git/.git# curl --netrc --location -v http://<login>:<password>@<server>/accesscontrol.git/HEAD
user@klient:~/accesscontrol-git# git-config remote.upload.url http://<server>/accesscontrol.git/


Viz také

Seriál na root.cz

  1. http://www.root.cz/clanky/git-distribuovana-sprava-revizi/
  2. http://www.root.cz/clanky/git-sprava-repositaru/
  3. http://www.root.cz/clanky/git-config-commit-e-mail-a-browsing/
  4. http://www.root.cz/clanky/git-nase-prvni-vydani/

Oficiální stránky