Size: 6405
Comment:
|
Size: 6406
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 96: | Line 96: |
Změny, které chceme zapsat do repozitáře, musíme nejprve [[http://www.selenic.com/mercurial/hg.1.html#add|add]] (přidat)a posléze je předat ([[http://www.selenic.com/mercurial/hg.1.html#commit|commit]]): | Změny, které chceme zapsat do repozitáře, musíme nejprve přidat ([[http://www.selenic.com/mercurial/hg.1.html#add|add]]) a posléze je předat ([[http://www.selenic.com/mercurial/hg.1.html#commit|commit]]): |
Stručný úvod pro netrpělivé
(viz také Základy Mercurialu, CzechTutorial, QuickStart2 a http://mercurial.selenic.com/quickstart/)
Jedno české přísloví praví: "Když spěcháš, tak si sedni." Kdo by si myslel, že po přečtení tohoto stručného úvodu bude dostatečně vybaven pro samostatnou práci s Mercurialem, může být zklamán. Úvod jestiť to poněkud chaotický. Jak jsem koupil, tak předávám. (Tovim)
Contents
1. Jméno uživatele
Při zápisu změn (commit) používá Mercurial jméno uživatele implicitně ve tvaru 'user@localhost'. Nejlepší je zapsat jméno uživatele do konfiguračního souboru ~/.hgrc 1 (nebo ve Windows v %USERPROFILE%\Mercurial.ini) připsáním následujících řádků:
[ui] username = John Doe <john@example.com>
2. Práce na existujícím projektu
Známe-li URL projektu (například http://selenic.com/hg), můžeme získat jeho kopii následovně:
$ hg clone http://selenic.com/hg mercurial-repo real URL is http://www.selenic.com/hg/ requesting all changes adding changesets adding manifests adding file changes added 9633 changesets with 19124 changes to 1271 files updating to branch default 1084 files updated, 0 files merged, 0 files removed, 0 files unresolved
Příkaz vytvoří nový adresář mercurial-repo do něhož přenese celou historii projektu - repozitář .hg a případně všechny pracovní soubory (viz clone).
Podívejme se, co bylo přeneseno (see parents):
$ cd mercurial-repo $ hg parents changeset: 9632:16698d87ad20 tag: tip user: Nicolas Dumazet <...> date: Mon Sep 21 19:21:32 2009 +0200 summary: util: use sys.argv[0] if $HG is unset and 'hg' is not in PATH
Příkaz summary (Zavedený v Mercurialu 1.4) vypíše souhrn pracovního adresáře. Názvy příkazů lze zkracovat, takže postačí hg sum:
$ hg sum parent: 9632:16698d87ad20 tip util: use sys.argv[0] if $HG is unset and 'hg' is not in PATH branch: default commit: (clean) update: (current)
commit: (clean) znamená, že pracovní adresář neobsahuje lokální změny update: (current) znamená, že sledované soubory pracovního adresáře jsou aktualizovány (update) k nejnovější revizi repozitáře.
3. Založení nového projektu
Nový repozitář v adresáři Holba vytvoříme příkazem init:
$ cd Holba/ $ hg init # vytvoří složku .hg
Stav pracovního adresáře zjistíme příkazem status:
$ hg status
Pokud se nic nezobrazí, je naše pracovní kopie "čistá". Pokud obsahuje změněné, přidané nebo odebrané soubory, vypíše tyto soubory s označením 'A' (added), 'R' (removed), 'M' (modified), '?' (nesledován). Soubory, které chceme trvale vyřadit ze sledování, zapíšeme do souboru .hgignore.
Mercurial vyhledává soubor .hgignore 2 v pracovním adresáři, který obsahuje sadu vzorů (glob) a regulárních výrazů, které mají být na cestách k souborům ignorovány. Zde je příklad souboru .hgignore:
syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$
Tento soubor vytvoříme buď sami, nebo se vytvoří sám po prvním použití příkazu hg ignore.
Změny, které chceme zapsat do repozitáře, musíme nejprve přidat (add) a posléze je předat (commit):
$ hg add # přidat ony 'neznáme' soubory $ hg commit # předat všechny změny do nového changesetu $ hg parents # zobrazit právě vytvořenou revizi (changeset)
Podrobný popis všech příkazů viz http://www.selenic.com/mercurial/hg.1.html nebo lze zadat:
$ hg help
Nápovědu pro konkretní příkaz (např. add) vyvoláme příkazem:
$ hg help add
4. Clone, Commit, Merge
$ hg clone project project-work # klonovat pracovní adresář s repozitářem $ cd project-work $ <make changes> # provést nějaké změny $ hg commit $ cd ../project $ <make other changes> # provést jiné změny $ hg commit $ hg pull ../project-work # stáhnout changesety z 'project-work' $ hg merge # sloučit stažený tip s tipem našeho repozitáře $ hg parents # prohlédnout si stažené a sloučené revize $ hg commit # předat výsledek sloučení
See clone, commit, pull, merge
5. Export oprávky
(make changes) $ hg commit $ hg export tip # exportovat poslední komit
Viz export
6. Podpora webové sítě
# klon z primárního repozitáře Mercurialu $ hg clone http://selenic.com/hg/ $ cd hg # pull new changesets from an existing other repo into the repository (.hg) $ hg pull http://selenic.com/hg/ # export your current repo via HTTP with browsable interface on port 8000 $ hg serve -n "My repo" # push changesets to a remote repo with SSH $ hg push ssh://user@example.com/hg/
translations: Chinese Français German Portuguese Japanese Thai