Git je open source distribuovaný systém pro správu verzí navržený tak, aby rychle a efektivně zvládal všechny typy projektů od malých po velké. Snadno se učí a má nízkou spotřebu paměti s bleskovým výkonem. Předčí několik dalších nástrojů SCM, jako je Subversion, CVS, Perforce a ClearCase, s funkcemi, jako je levné místní větvení, pohodlné oblasti pro přípravu a více pracovních postupů.
Kromě toho má Git 2.9.0 řadu funkcí a oprav chyb ve srovnání se zbytkem verzí, některé pokročilé funkce Git 2.9, díky nimž je prominentní oproti ostatním, jsou uvedeny níže:
- Rychlejší a flexibilnější submoduly:Přináší podporu pro paralelní klonování a aktualizaci submodulů.
- Krásné využití rozdílů:Přidává novou experimentální heuristiku pro zpracování rozdílů.
- Testování odevzdání pomocí interaktivní rebase Git
Výhody GIT oproti ostatním nástrojům SCM
- Větvení a slučování
- Malý a rychlý
- Distribuováno
- Zabezpečení dat
- Prostor pro přípravu
- Zdarma a opensource
V tomto článku ukážu, jak nainstalovat nejnovější verzi Git na server Ubuntu 16.04. Začněme s kroky instalace.
Instalace Git
Na serveru Ubuntu můžeme nainstalovat balíčky Git z jejich repozitářů pouhým spuštěním tohoto příkazu.
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install git
Ale není povinné, abychom instalací tímto způsobem získali nejnovější balíčky Git. V takovém případě dáváme přednost instalaci Git stažením z jejich zdrojových balíčků. Zde si můžeme stáhnout naše balíčky vydání Git.
Vysvětlím kroky, jak jsem na svůj systém nainstaloval nejnovější verzi Git 2.9.0.
Stáhněte si soubory Git
Krok 1:Stáhněte si balíček Git 2.9 z výše uvedeného odkazu ke stažení
root@ubuntu:~# wget https://github.com/git/git/archive/v2.9.0.zip
root@ubuntu:~# unzip v2.9.0.zip
Nainstalujte modul unzip, pokud není přítomen na serveru, pouhým spuštěním tohoto příkazu "apt install unzip ".
."Konfigurovat a sestavit
Krok 2:Přesuňte se do extrahované složky Git a začněte konfigurovat. Nejprve musíme nakonfigurovat a sestavit balíček Git. Aby konfigurační část fungovala, musíme na náš server nainstalovat autoconf.
root@ubuntu:~/git-2.9.0# apt-get install autoconf
root@ubuntu:~/git-2.9.0# make configure
GEN configure
root@ubuntu:~/git-2.9.0# ./configure --prefix=/usr/local
Po instalaci autoconf můžeme vytvořit konfigurační soubor pro Git a začít konfigurovat pomocí výše uvedeného příkazu.
Pokud však během konfigurace narazíte na podobnou chybu, nainstalujte si prosím následující balíček.
Error:
configure: error: in `/root/git-2.9.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
Fix:
root@ubuntu:~/git-2.9.0# apt-get install gcc
Můžete nainstalovat balíček gcc, abyste povolili kompilátor C na vašem serveru a dokončili konfigurační část hladce takto.
root@ubuntu:~/git-2.9.0# ./configure --prefix=/usr/local
checking for BSD sysctl... no
checking for POSIX Threads with ''... no
checking for POSIX Threads with '-mt'... no
checking for POSIX Threads with '-pthread'... yes
configure: creating ./config.status
config.status: creating config.mak.autogen
config.status: executing config.mak.autogen commands
Naším dalším krokem je sestavení balíčků Git. Stále můžeme sestavit balíček spuštěním tohoto příkazu make.
root@ubuntu:~/git-2.9.0# make prefix=/usr/local
PS : At times, you may come across some errors while running this, due to some missing packages.
Errors:
root@ubuntu:~/git-2.9.0# make prefix=/usr/local
CC credential-store.o
In file included from credential-store.c:1:0:
cache.h:40:18: fatal error: zlib.h: No such file or directory
compilation terminated.
Makefile:1935: recipe for target 'credential-store.o' failed
make: *** [credential-store.o] Error 1
/bin/sh: 1: msgfmt: not found
Makefile:2094: recipe for target 'po/build/locale/pt_PT/LC_MESSAGES/git.mo' failed
make: *** [po/build/locale/pt_PT/LC_MESSAGES/git.mo] Error 127
Abyste tyto chyby napravili, můžete nainstalovat následující balíčky, které Git potřebuje.
apt-get install zlib1g-dev
apt-get install tcl-dev
apt-get install libssl-dev
apt-get install gettext
Po opravě těchto chyb můžete tento výrobek spustit znovu příkazy k dokončení procesu sestavení.
root@ubuntu:~/git-2.9.0# make prefix=/usr/local
root@ubuntu:~/git-2.9.0# make prefix=/usr/local install
Nyní můžeme potvrdit naši instalaci Git. Proměnnou prostředí můžete nastavit tak, aby načítala knihovny Git z /usr/local spuštěním ldconfig.
root@ubuntu:~# git version
git version 2.9.0
Nastavení Git
Git je dodáván s nástrojem s názvemgit config což vám umožňuje získat a nastavit konfigurační proměnné, které řídí všechny aspekty fungování Gitu. Tyto proměnné mohou být uloženy na třech různých místech:
soubor/etc/gitconfig :Tento soubor obsahuje hodnoty pro každého uživatele v systému a všechna jejich úložiště.
git config --system :Tato možnost bude číst a zapisovat konkrétně z tohoto souboru.
soubor ~/.gitconfig nebo ~/.config/git/config :Tento soubor je specifický pro každého uživatele.
git config --global :Tato možnost bude číst a zapisovat konkrétně z tohoto souboru.
.git/config :konfigurační soubor v adresáři Git jakéhokoli úložiště, které aktuálně používáte. Tento soubor je specifický pro toto jediné úložiště.
git config --local :Tato možnost bude číst a zapisovat konkrétně z tohoto souboru.
Vytvoření vaší identity
První věc, kterou musíte po instalaci Git udělat, je označení vaší identity. Musíte nastavit své uživatelské jméno a e-mailovou adresu. To je důležité, protože Git commit používá tyto informace a jsou neměnně připojeny k commitům, které vytváříte.
root@ubuntu:~# git config --global user.name "Saheetha Shameer"
root@ubuntu:~# git config --global user.email [email protected]
Kontrola nastavení Git
Své aktuální nastavení Git můžete zkontrolovat pomocí příkazu git config --list. Zobrazí se seznam všech nastavení Git.
root@ubuntu:~# git config --list
user.name=Saheetha Shameer
[email protected]
Stav můžete také zkontrolovat zadáním konkrétní hodnoty klíče, jako je tento
root@ubuntu:~# git config user.name
Saheetha Shameer
Příkazy Git
Další informace o příkazech Git získáte spuštěním nápovědy git příkaz. Zde jsou některé běžné příkazy Git a jejich použití.
Stránku Git Manual získáte spuštěním tohoto příkazugit help config.
Vytvoření a správa úložiště Git
Nejprve se podívejme, jak můžete vytvořit úložiště Git. Tento příkaz můžete spustit a vytvořit úložiště git ve stávající složce. Vytvořil jsem složku s názvem gitdemo a spustil jsem příkaz git init k vytvoření mého úložiště.
root@ubuntu:~# mkdir gitdemo
root@ubuntu:~# cd gitdemo/
root@ubuntu:~/gitdemo#
root@ubuntu:~/gitdemo# git init
Initialized empty Git repository in /root/gitdemo/.git/
Po provedení tohoto příkazu můžete vidět, že vytvoří složku s názvem .git. Zde git ukládá vše včetně sad změn, větví atd. Podívejme se na strukturu této složky.
Tuto složku můžete kdykoli smazat a zničit tak své úložiště. Stručně řečeno to znamená, že git používá místní základní nastavení souborů, kde můžete ručně zálohovat tuto složku, abyste uchovali nebo odevzdali jakékoli vzdálené úložiště nebo dokonce poslali tyto záložní soubory svým přátelům, abyste jim poskytli přímý přístup k vašemu úložišti s nainstalovaným git v jejich systému.
V tuto chvíli nemáme co dát pod správu verzí, takže pojďme vytvořit soubor a zkontrolovat stav git.
root@ubuntu:~/gitdemo# touch testrepo.txt
root@ubuntu:~/gitdemo# git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
testrepo.txt
nothing added to commit but untracked files present (use "git add" to track)
I když soubor testrepo.txt existuje, Git jej zatím nesleduje. Stav Git nám říká, že náš soubor není sledován. Musíme to opravit příkazem git add
root@ubuntu:~/gitdemo# git add testrepo.txt
root@ubuntu:~/gitdemo# git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: testrepo.txt
Nyní se ukazuje náš stav git, protože náš testovací soubor je připraven k odevzdání. Tomu se říká Staging. Přistoupili jsme k tomuto souboru k potvrzení.
Před potvrzením repo musíme spustit příkaz git add, aby se aktualizovaly všechny změny. Pokud například upravíme cokoli v našem testovacím souboru, nepřidají se tím změny při odevzdání, dokud nespustíme toto git add příkaz znovu. Stav Git vám pomůže identifikovat úpravy.
root@ubuntu:~/gitdemo# git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: testrepo.txt
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: testrepo.txt
Potřebujeme tedy spustit příkaz git add, abychom provedli tyto změny.
root@ubuntu:~/gitdemo# git add testrepo.txt
root@ubuntu:~/gitdemo# git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: testrepo.txt
Jakmile provedeme změny, jsme připraveni je odeslat do našeho úložiště. Můžete použít git commit příkaz k tomu. Spuštěním tohoto příkazu "git commit testrepo.txt" se zobrazí okno vim, kde je třeba v horní části obrazovky napsat "Initial commit" a uložit pro ukončení.
root@ubuntu:~/gitdemo# git commit testrepo.txt
[master (root-commit) 2b3f303] Initial commit
1 file changed, 2 insertions(+)
create mode 100644 testrepo.txt
PS : you can even use git commit -m "changes" instead
Pokud znovu spustíme stav git, uvidíme, že již neexistují žádné nevyřízené změny, což znamená, že jsou všechny odevzdány do našeho úložiště.
root@ubuntu:~/gitdemo# git status
On branch master
nothing to commit, working directory clean
Podrobnosti o naší historii odevzdání můžeme získat spuštěním protokolu git, který poskytne jejich podrobnosti, jako jsou autoři, čas, datum, poznámky k odevzdání atd.
root@ubuntu:~/gitdemo# git log
commit 2b3f30387f3b7417acbbc5287132df7441aa0881
Author: Saheetha Shameer <[email protected]>
Date: Thu Jul 14 08:02:52 2016 +0000
Initial commit
Ještě více informací o protokolu git můžete získat v jeho příručce pomocí příkazu man git log. Doufám, že tento článek je pro vás informativní a užitečný. Děkuji, že jste si to přečetli. Přeji hezký den!