Differences between revisions 5 and 12 (spanning 7 versions)
Revision 5 as of 2012-04-28 14:27:33
Size: 2368
Editor: Tovim
Comment:
Revision 12 as of 2013-12-28 19:28:34
Size: 2256
Editor: Tovim
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
''Předchozí kapitolou [[CzechTutorial|Tutoriálu]] je [[CzechTutorialInstall|Instalace programu]], další kapitolou je [[CzechTutorialClone|Klonování repozitáře]])'' ''Předchozí kapitolou [[CzechTutorial|Tutoriálu]] je [[CzechTutorialInstall|Instalace programu]], další kapitolou je [[CzechTutorialClone|Klonování repozitáře]]''
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 (repozitória). Repozitórium je pracovní prostor, kterému také ří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ář kdykoli - máte-li 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
./ ../ .hg/
> dir
           
./ ../ .hg/ # zjednodušeno
Line 30: Line 29:
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řihlásit ke sledování speciálním příkazem "hg add".
{{{
> echo > hello.txt
> hg status
? hello.txt # neznámý soubor

$ hg add hello.txt
}}}

Příkazem "hg add" jsme z neznámého souboru vytvořili možného kandidáta komitu.
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 se neukládá kompletní verze změněného souboru, nýbrž rozdíl mezi změněnou a původní verzí - tak zvaný '''diff'''. Nový soubor se samozřejmě uloží celý.
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 (repozitória). Repozitórium je pracovní prostor, kterému také říkáme pracovní adresář — viz Základní pojmy Mercurialu.

Na rozdíl od jiných verzovacích systémů můžete vytvářet repozitář kdykoli - máte-li 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:

> dir
           
./  ../  .hg/    # zjednodušeno       

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řihlásit ke sledování speciálním příkazem "hg add".

> echo > hello.txt
> hg status
? hello.txt   # neznámý soubor

$ hg add hello.txt

Příkazem "hg add" jsme z neznámého souboru vytvořili možného kandidáta komitu.

$ hg commit -m "hello.txt added"

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

Č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)