na manualy zkus http://github.com/guides/home
EN je samozrejme nutnosti, bez toho nemuzes v tohle oboru existovat
Synchronizace projektů pomocí GITu
Pokud používáte pro práci více počítačů (desktop, laptop), jistě jste se setkali s problémem synchronizace pracovních dat. Řešením může být použití schopného verzovacího softwaru. Že nevíte o čem je řeč? Pak doporučuji přečíst seriál o verzování nebo alespoň první díl seriálu.
Na Windows jsem si kdysi vybral Subversion. Ten mi ale přišel vždy dost pomalý a jeho centralizovaná koncepce také není uplně spásná. Proto jsem chtěl zkusit v Ubuntu něco jiného. Procházel jsem seznamy verzovacích nástrojů až jsem narazil na GIT. GIT mne nejprve zaujal jménem autora - Linus Torvalds, autor jádra Linux. Dále pak svojí nenáročností, výkonem a distribuovanou koncepcí.
Jak na GIT
Základy GITu jsou o něco náročnější než u Subversion. Vše se dělá pomocí shellovských příkazů (ale něco se dá udělat i pomocí utility git-gui).
Ukažme si vše na příkladu:
Máme projekt /home/franta/workspace/projektik, v tomto adresáři máme všechny pracovní soubory (zdrojáky, dokumentaci). Nainstalujeme GIT (bývá ve všech balíčkovacích systémech) a jdeme na to.
Nejprve tedy chceme vytvořit pro tento projekt úložiště.
cd /home/franta/workspace/projektik git initTo vytvoří v projektik nový adresář .git a v něm nějaký podivný obsah :)
Úložiště bysme tedy měli, teď ho musíme naplnit naším projektem.
git add . git commit -a -m "initial commit"Příkaz "git add ." přidá do indexu všechny soubory. "git-commit -a" pak uloží všechny změněné soubory (takže všechno) do úložiště. Pokud nechcete zahrnovat do úložiště všechny soubory, doporučuji spustit git-gui a naklikat si pouze ty, které chcete.
Nyní máme hotové úložiště naplněné daty. Nyní přeneseme celý projekt na druhý počítač. Nejprve zastavíme git démona a změníme jeho nastavení.
sudo /etc/init.d/git-daemon stop sudo gedit /etc/sv/git-daemon/run
Řádek začínající exec (poslední) pak nahradíme
exec git-daemon --verbose --reuseaddr --export-all --user-path --syslog
a git-daemon opět spustíme
sudo /etc/init.d/git-daemon start
Můžeme přesedlat k druhému počítači, nainstalovat GIT a pustit se do přenesení.
cd /home/franta/workspace rm -rf projektik git clone git://192.168.1.1/~franta/workspace/projektik
Na druhém počítači pak stejným způsobem nastavte a restartujte git démona.
A na závěr to hlavní: Provedeme na prvním počítači změny v projektu a zkusíme je následně přenést i na druhý. Změny nejprve promítneme do svého úložiště (provádíme na prvním počítači).
git commit -a -m "prvni zmena"
Teď opět přejdeme na druhý počítač a napíšeme si alias pro přenesení změn. Otevřeme si v editoru /home/franta/.bashrc a zapíšeme na konec:
alias projektik='cd /home/franta/workspace/projektik; git pull git://192.168.1.1/~franta/workspace/projektik master'
Pokud jste otevírali soubor z konzole, musíme před použitím aliasu v konzoli ještě provést obsah .bashrc.
. ~/.bashrc
Nyní již můžeme zkusit zavolat příkaz
projektik
GIT toho samozřejmě umí daleko více než jen takovouto jednoduchou synchronizaci, o tom možná někdy příště :)
Hodnocení
Komentáře
V 9.04 je změna, do toho spouštěcího skriptu se musí zapsat:
exec chpst -ugitdaemon git daemon --verbose --reuseaddr --export-all --user-path --syslog
V 9.10 opět změna, do souboru /etc/sv/git-daemon/run je třeba zapsat:
exec chpst -ugitdaemon /usr/lib/git-core/git-daemon --verbose --reuseaddr --export-all --user-path --syslog
Ahoj,
vsichni pisou zaklady svn nebo git, ale nikde jsem nevidel manual v nasel jazyce jak spravne delat rozvetvovat projket, jak spravne tagovat, jak spravne vytvaret branche, jak vytvorit mantaince branch a jak mezi vetvemi spravne mergovat. Taky clanek by se fakt hodil a dost by ti zdvihl navstevnost ;)