Differences between revisions 5 and 7 (spanning 2 versions)
Revision 5 as of 2012-04-28 14:27:33
Size: 2368
Editor: Tovim
Comment:
Revision 7 as of 2012-12-15 14:53:04
Size: 2365
Editor: Tovim
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
In Mercurial, we do all of our work inside a [[Repository|repository]]. A repository is a directory that contains all of the source files that we want to keep history of, along with complete histories of those source files (inside the .hg directory —
see UnderstandingMercurial).
V Mercurialu se všechno točí kolem [[Repository|repozitáře]]. Repozitář je složka '''.hg''' uvnitř kořenového adresáře projektu. Všechno ostatní uvnitř kořenového adresáře je pracovní prostor, kterému říkáme '''pracovní adresář''' — viz [[CzechUnderstandingMercurial|Základní pojmy Mercurialu]].
Line 9: Line 8:
Unlike some version control systems, you can create a repository in any directory you have write permissions to. All you have to do is initialize the repository, which will create a .hg subdirectory, and add some files to the repository. Na rozdíl od jiných verzovacích systémů můžete vytvářet repozitář kdekoli máte oprávnění k zápisu. Všechno, co musíte udělat, je provést inicializaci, která vytvoří subsložku .hg ve vašem kořenovém adresáři projektu.
Line 11: Line 10:
To do this, we use the {{{init}}} command.<<FootNote(http://www.selenic.com/mercurial/hg.1.html#init)>> K tomuto účelu používáme příkaz {{{init}}}.<<FootNote(http://www.selenic.com/mercurial/hg.1.html#init)>>
Line 13: Line 12:
Let's init a small "hello, world" repository in our file system. Vytvořme v našem souborovém systému repozitář v projektové složce "repo".
Line 16: Line 15:
(telephoto: /tmp) mkdir repo
(telephoto: /tmp) cd repo
/tmp/repo
(telephoto: /tmp/repo) ls
(telephoto: /tmp/repo) hg init
> mkdir repo
> cd repo

> hg init
Line 23: Line 21:
We can now see that our new repo has the .hg directory: Přesvědčíme se, že náš kořenový adresář obsahuje složku .hg:
Line 26: Line 24:
(telephoto: /tmp/repo) ls -a $ ls -a # dovolil jsem si přejít do jiné konzoly
Line 30: Line 28:
We can now add some files to mercurial. In this example we're creating the files after we've initialized the repository, but that's not important in mercurial. One of the great things about mercurial is that it's easy to add version control to an existing directory structure. In either case, we just use "hg add" to place the files under version control. Nyní můžeme do projektové složky přidat nějaké soubory. V tomto případě vytváříme soubory po inicializaci repozitáře. Stejně snadno bychom však je mohli vytvořit před inicializací repozitáře. Aby se přidané soubory staly součástí verzovacího systému Mercurialu, musíme je v obou případech nejprve přistrčit ke sledování speciálním příkazem "hg add".
{{{
$ touch hello.txt
$ ls
hello.txt
$ ls -a
./ ../ .hg/ hello.txt
$ hg add hello.txt
}}}

Příkazem "hg add" jsme změněný soubor přesunuli do pomyslné předsíně, odkud jedině může být předán příkazem commit do repozitáře. Pro tuto "předsíň" má systém '''git''' označení index.
Line 33: Line 41:
(telephoto: /tmp/repo) touch hello.txt
(telephoto: /tmp/repo) ls
hello.txt
(telephoto: /tmp/repo) ls -a
./ ../ hello.txt .hg/
(telephoto: /tmp/repo) hg add hello.txt
$ hg commit -m "hello.txt added"
Line 41: Line 44:
After adding the files they're not really "in" mercurial yet. For that we have to commit them: {i} Je nutné vědět, že v repozitáři není uložena kompletní verze změněného souboru, nýbrž rozdíl mezi změněnou a původní verzí - tak zvaný '''diff'''.
Line 43: Line 46:
{{{
(telephoto: /tmp/repo) hg commit -m "adding initial version of hello.txt"
(telephoto: /tmp/repo) ls -a
./ ../ hello.txt .hg/
(telephoto: /tmp/repo)
}}}
Line 50: Line 47:
Nothing obvious changes about the files now that they've been committed, but this version of our files is now preserved in the repository.

Obvyklým způsobem použití Mercurialu je klonování repozitáře, který vytvořil někdo jiný.
Často Mercurial použijeme ke klonování repozitáře, který vytvořil někdo jiný.

Tutoriál 2 - Vytvoření repozitáře

Předchozí kapitolou Tutoriálu je Instalace programu, další kapitolou je Klonování repozitáře)

V Mercurialu se všechno točí kolem repozitáře. Repozitář je složka .hg uvnitř kořenového adresáře projektu. Všechno ostatní uvnitř kořenového adresáře je pracovní prostor, kterému říkáme pracovní adresář — viz Základní pojmy Mercurialu.

Na rozdíl od jiných verzovacích systémů můžete vytvářet repozitář kdekoli máte oprávnění k zápisu. Všechno, co musíte udělat, je provést inicializaci, která vytvoří subsložku .hg ve vašem kořenovém adresáři projektu.

K tomuto účelu používáme příkaz init.1

Vytvořme v našem souborovém systému repozitář v projektové složce "repo".

> mkdir repo
> cd repo

> hg init

Přesvědčíme se, že náš kořenový adresář obsahuje složku .hg:

$ ls -a           # dovolil jsem si přejít do jiné konzoly
./  ../  .hg/

Nyní můžeme do projektové složky přidat nějaké soubory. V tomto případě vytváříme soubory po inicializaci repozitáře. Stejně snadno bychom však je mohli vytvořit před inicializací repozitáře. Aby se přidané soubory staly součástí verzovacího systému Mercurialu, musíme je v obou případech nejprve přistrčit ke sledování speciálním příkazem "hg add".

$ touch hello.txt
$ ls
hello.txt
$ ls -a
./  ../ .hg/ hello.txt
$ hg add hello.txt

Příkazem "hg add" jsme změněný soubor přesunuli do pomyslné předsíně, odkud jedině může být předán příkazem commit do repozitáře. Pro tuto "předsíň" má systém git označení index.

$ hg commit -m "hello.txt added"

{i} Je nutné vědět, že v repozitáři není uložena kompletní verze změněného souboru, nýbrž rozdíl mezi změněnou a původní verzí - tak zvaný diff.

Často Mercurial použijeme ke klonování repozitáře, který vytvořil někdo jiný. Ukážeme si to v následující kapitole Klonování repozitáře.


CategoryCzech

CzechTutorialInit (last edited 2013-12-28 19:28:34 by Tovim)