GIT je nejuniverzálnější distribuovaný systém správy verzí.
Způsob, jakým GIT sleduje a zpracovává změny souborů, je velmi efektivní a odlišný od toho, jak změny sleduje jiný software pro správu verzí (včetně CVS a Subversion).
Tento článek je pro ty, kteří s GIT začínají. Toto je průvodce rychlým startem, který vám ukáže, jak nainstalovat GIT ze zdroje, vytvořit nový projekt, odevzdat změny do úložiště GIT.
Pokud jste z CVS/SVN pozadí, jste zvyklí na model klient-server, kde je úložiště nainstalováno na serveru, a pomocí klienta stáhnete projekt z úložiště, provedete změny a odešlete jej do úložiště na serveru.
GIT nepoužívá model klient-server. Když si stáhnete projekt ze vzdáleného úložiště GIT, stáhnete si vše, včetně historie verzí a změn jednotlivých souborů, a váš místní GIT funguje jako server, kde můžete provádět check-in, check-out a další typické činnosti správy verzí. Později, až budete připraveni, můžete své změny sloučit do vzdáleného úložiště GIT.
Kroky instalace a konfigurace jsou tedy naprosto stejné, ať už používáte GIT na svém lokálním počítači, ke správě vlastního projektu, nebo instalujete GIT na server, odkud si ostatní vývojáři stáhnou projekt do svých lokálních GIT úložišť.
Pokud jste vývojář, možná budete chtít nainstalovat GIT na svůj lokální počítač ze dvou důvodů:1) Rádi spravujete svůj vlastní projekt lokálně pomocí nástroje pro správu verzí 2) Chcete upravit kód, který je umístěn ve vzdálené centrále úložiště GIT.
Pokud jste správce systému, možná budete chtít nainstalovat GIT na server, aby fungoval jako centrální úložiště pro veškerý zdrojový kód vaší společnosti. Zde můžete vývojářům povolit stahování projektů do jejich místních úložišť GIT, provádět změny a po dokončení se mohou vrátit zpět do vašeho centrálního úložiště.
Bez ohledu na to, jak plánujete GIT používat, jsou instalační kroky a základní příkazy uvedené níže naprosto stejné.
1. Stáhněte a nainstalujte GIT
Nejprve si stáhněte GIT odtud. Nebo si jej stáhněte přímo pomocí wget, jak je uvedeno níže.
cd wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2
Dále rozbalte stažený soubor.
tar xvfj git-1.7.6.tar.bz2 cd git-1.7.6
Nakonec nainstalujte GIT, jak je uvedeno níže, pomocí výchozí možnosti konfigurace. Chcete-li instalaci upravit, použijte příkaz „./configure –help“ pro zobrazení všech dostupných možností konfigurace.
./configure make make install
2. Počáteční konfigurace
Git je standardně nainstalován pod /usr/local/bin. Jakmile GIT nainstalujete, ověřte jej, jak je uvedeno níže.
$ whereis git git: /usr/local/bin/git $ git --version git version 1.7.6 $ git --help.
Prvním krokem je zadat své uživatelské jméno a e-mailovou adresu do vašeho úložiště GIT pomocí „git config“, jak je uvedeno níže.
git config --global user.name "GIT Admin" git config --global user.email [email protected]
Ověřte informace o konfiguraci git, jak je uvedeno níže.
$ git config --list user.name=GIT Admin [email protected] core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true
Tyto informace jsou uloženy v souboru .gitconfig ve vašem domovském adresáři.
$ cat ~/.gitconfig [user] name = GIT Admin email = [email protected]
3. Vytvořit projekt
Jakýkoli ze svých lokálních adresářů můžete vytvořit jako projekt GIT (tj. úložiště). Například, pokud je váš projekt umístěn v /home/ramesh/projects/passworddragon, můžete to udělat jako svůj projekt GIT. Nejprve cd do tohoto adresáře a spusťte git init, jak je ukázáno níže.
$ cd /home/ramesh/projects/passworddragon $ git init Initialized empty Git repository in /home/ramesh/projects/passworddragon/.git/
Tím se ve složce projektu vytvoří adresář .git. Následuje obsah adresáře .git. GIT používá tento adresář k ukládání informací o tom, jak sleduje změny.
$ ls -altr .git total 40 drwxrwxr-x 4 git git 4096 Aug 13 22:39 refs drwxrwxr-x 4 git git 4096 Aug 13 22:39 objects drwxrwxr-x 2 git git 4096 Aug 13 22:39 info drwxrwxr-x 2 git git 4096 Aug 13 22:39 hooks -rw-rw-r-- 1 git git 23 Aug 13 22:39 HEAD -rw-rw-r-- 1 git git 73 Aug 13 22:39 description -rw-rw-r-- 1 git git 92 Aug 13 22:39 config drwxrwxr-x 2 git git 4096 Aug 13 22:39 branches drwxrwxr-x 36 git git 4096 Aug 13 22:39 .. drwxrwxr-x 7 git git 4096 Aug 13 22:39 .
Poznámka:Pokud jste správce systému a snažíte se vytvořit centrální úložiště GIT pro vaši společnost, odkud si vývojáři mohou stáhnout projekty, možná budete chtít vytvořit uživatelské jméno s názvem ‚git‘ a organizovat všechny své projekty pod tímto účtem. Například:/home/git/project1, /home/git/project2 atd. Jakmile máte projekt zorganizovaný, přejděte na CD do adresáře projektu a odtud jako uživatel git proveďte ‚git init‘.
4. Přidat a odevzdat soubory do projektu
Jakmile projekt inicializujete pomocí „git init“, přidejte soubory umístěné v tomto adresáři projektu pomocí „git add“.
Pokud jsou v adresáři vašeho projektu různé typy souborů a chcete, aby GIT spravoval pouze určité typy souborů, přidejte do GIT pouze ty, jak je uvedeno níže. Tento příklad přidá pouze soubory *.java a *.c.
git add *.java git add *.c
Obvykle byste chtěli přidat všechny soubory v adresáři projektu do projektu GIT. Stačí provést „git add .“, což přidá všechny soubory v aktuálním adresáři a všechny podadresáře do projektu GIT.
git add .
Jakmile přidáte soubory do úložiště, měli byste tyto soubory odevzdat, jak je znázorněno níže.
$ git commit -m 'Initial upload of the project' create mode 100755 PasswordDragon.java create mode 100755 pwm/ui/DataManager.java create mode 100755 pwm/ui/PasswordFrame.java create mode 100755 pwm/tools/StrongEncryption.java create mode 100755 pwm/tools/PasswordStrength.java ..
Pokud jste nezadali své uživatelské jméno a e-mailovou adresu pomocí „git config“, jak je vysvětleno výše, zobrazí se následující chybová zpráva.
$ git commit -m 'Initial upload of the project' *** Please tell me who you are. Run git config --global user.email "[email protected]" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident not allowed
5. Proveďte změny a odevzdejte soubor
Nainstalovali jste GIT, vytvořili úložiště projektu, odevzdali všechny soubory do projektu GIT.
Nyní je čas začít provádět nějaké změny v souboru a odevzdat jej do úložiště.
vi PasswordDragon.java
Jakmile lokálně upravíte soubor, můžete změny zobrazit. tj. Rozdíl mezi vaší lokální kopií a kopií již odevzdanou v projektu GIT pomocí „git diff“, jak je uvedeno níže.
$ git diff diff --git a/PasswordDragon.java b/PasswordDragon.java index 6166ed1..fd82d32 100644 --- a/PasswordDragon.java +++ b/PasswordDragon.java @@ -2,7 +2,7 @@ - public counter=10 + public counter=55
Jakmile v něm provedete úpravy, zkontrolujete změny a jste s ním spokojeni, můžete soubor odevzdat do úložiště GIT. Toto je dvoukrokový proces. Nejprve byste měli přidat soubor do pracovní oblasti a odevzdat se do projektu GIT, jak je znázorněno níže.
git add PasswordDragon.java
Když provedete odevzdání, otevře se váš výchozí editor, do kterého můžete zadat komentář. Jakmile uložíte svůj komentář a ukončíte editor, odevzdá soubor projektu GIT a zobrazí následující zprávu.
$ git commit [master 80f10a9] Added password strength meter functionality 1 files changed, 56 insertions(+), 7 deletions(-)
Poznámka:Můžete také provést „git commit -a“, který provede přidání a potvrzení současně.
6. Zobrazit stav a protokoly potvrzení
Když z vašeho místního úložiště provedete „git status“, zobrazí se aktuální stav. Když se místní kopie nezmění (nebo když jsou všechny soubory potvrzeny), zobrazí se následující zpráva.
$ git status # On branch master nothing to commit (working directory clean)
Pokud jste v souboru provedli změny a dosud jste nepotvrdili, zobrazí se následující zpráva.
$ git status # On branch master # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: PasswordDragon.java # no changes added to commit (use "git add" and/or "git commit -a")
Můžete také zobrazit historii souboru, jak je uvedeno níže.
$ git log PasswordDragon.java commit c919ced7f42f4bc06d563c1a1eaa107f2b2420d5 Author: GIT Admin Date: Sat Aug 13 22:54:57 2011 -0700 Added password strength meter functionality commit c141b7bdbff429de35e36bafb2e43edc655e9957 Author: GIT Admin Date: Sat Aug 13 20:08:02 2011 -0700 Initial upload of the project