2491
Comment: cd my-hello must be done before hg parents
|
2635
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== Tutorial - Cloning a repository == | == Tutoriál - Klonování repozitáře == |
Line 3: | Line 3: |
''(This page is part 2 of 9 of the [:Tutorial] series. Previous part is [:TutorialInstall], next part is [:TutorialHistory])'' | ''(Toto je druhá část řady 1-9 [[Tutorial]]. Předchozí je[[TutorialInstall]], následuje [[TutorialHistory]])'' |
Line 5: | Line 5: |
You have followed TutorialInstall to install Mercurial already, right? Good! | Aplikaci Mercurial (nebo TortoiseHg) máme řádně nainstalovánu? Dobrá, popojedeme. |
Line 7: | Line 7: |
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. | V Mercurialu se všechno důležité odehrává uvnitř [[Repository|repozitáře]]. Přísně vzato, repozitář je složka s označením {{{.hg}}}, umístěná spolu s pracovními (a dalšími) soubory uvnitř našeho pracovního adresáře. Nejjednodušší způsob jak začít s Mercurialem, je použít kopii projektu s již vytvořeným repozitářem. |
Line 9: | Line 10: |
The easiest way to get started with Mercurial is to use a repository that already contains some files and some history. | Použijeme k tomu příkaz {{{clone}}}.<<FootNote(http://www.selenic.com/mercurial/hg.1.html#clone)>> Ten vytvoří [[Clone|klon]] buď celého pracovního adresáře nebo jenom repozitáře, v závislosti na tvaru příkazu. |
Line 11: | Line 12: |
To do this, we use the {{{clone}}} command. This makes a [:Clone:clone] of a repository; it makes a complete copy of another repository so that we will have our own local, private one to work in. Let's clone a small "hello, world" repository hosted at selenic.com: |
Pořiďme si kopii nevelkého projektu, kterou uložíme do samočinně vytvořené složky mojeHalo na aktuálním disku: |
Line 16: | Line 15: |
$ hg clone http://www.selenic.com/repo/hello my-hello | > hg clone http://www.selenic.com/repo/hello mojeHalo |
Line 19: | Line 18: |
If all goes well, the {{{clone}}} command prints this (Mercurial 1.0): | Půjde-li vše dobře, příkaz {{{clone}}} vytiskne toto (Mercurial 1.4): |
Line 27: | Line 26: |
updating working directory | updating to branch default |
Line 31: | Line 30: |
We should now find a directory called {{{my-hello}}} in our current directory: | Na disku C:\ bychom nyní měli nalézt nový adresář {{{mojeHalo}}}, jehož obsah prozkoumáme otvíráním jednotlivých položek nebo příkazem: {{{ > dir mojeHalo }}} Uvnitř adresáře {{{mojeHalo}}} nalezneme dva soubory `hello.c`}, `Makefile` a složku `.hg`, která obsahuje historii repozitáře plus různé interní informace -- více viz[[Repository]]. Tyto soubory jsou přesnou kopií souborů z poslední ([[Tip|tip]]) revize původní větve klonovaného repozitáře.<<br>> Informace o kopírované verzi repozitáře získáme příkazem[[Parent|parents]] :<<FootNote(http://www.selenic.com/mercurial/hg.1.html#parents)>> |
Line 34: | Line 41: |
$ ls my-hello }}} Inside the {{{my-hello}}} directory, we should find some files: {{{ $ ls my-hello Makefile hello.c }}} These files are exact copies of the files in the repository we just cloned. '''Note:''' in Mercurial, each repository is self-contained. When you clone a repository, the new repository becomes an exact copy of the existing one at the time of the clone, but subsequent changes in either one ''will not show up'' in the other unless you explicitly transfer them, by either [:Pull:pulling] or [:Push:pushing]. By default, `hg clone` checks out (see [:Update]) the [:Tip:tip]most [:Revision:revision] of the repository into the repository's [:WorkingDirectory:working directory]. To see which revision is currently checked out, we can use the [:Parent:parents] command: {{{ $ cd my-hello $ hg parents |
> cd mojeHalo > hg parents |
Line 63: | Line 50: |
At this point, we can start examining some of the history of our new repository, by continuing to TutorialHistory. | '''Note:''' V okamžiku provedeného klonování jsou oba repozitáře totožné. Později se zřejmě oba repozitáře nezávisle na sobě různě změní. Změny lze z jednoho repozitáře do druhého přenést přikazy [[Pull|pull]] nebo [[Push|push]] -- viz dále. Nyní se již můžeme pustit do zkoumání historie našeho nového repozitáře na další stránce -- TutorialHistory. |
Tutoriál - Klonování repozitáře
(Toto je druhá část řady 1-9 Tutorial. Předchozí jeTutorialInstall, následuje TutorialHistory)
Aplikaci Mercurial (nebo TortoiseHg) máme řádně nainstalovánu? Dobrá, popojedeme.
V Mercurialu se všechno důležité odehrává uvnitř repozitáře. Přísně vzato, repozitář je složka s označením .hg, umístěná spolu s pracovními (a dalšími) soubory uvnitř našeho pracovního adresáře. Nejjednodušší způsob jak začít s Mercurialem, je použít kopii projektu s již vytvořeným repozitářem.
Použijeme k tomu příkaz clone.1 Ten vytvoří klon buď celého pracovního adresáře nebo jenom repozitáře, v závislosti na tvaru příkazu.
Pořiďme si kopii nevelkého projektu, kterou uložíme do samočinně vytvořené složky mojeHalo na aktuálním disku:
> hg clone http://www.selenic.com/repo/hello mojeHalo
Půjde-li vše dobře, příkaz clone vytiskne toto (Mercurial 1.4):
requesting all changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Na disku C:\ bychom nyní měli nalézt nový adresář mojeHalo, jehož obsah prozkoumáme otvíráním jednotlivých položek nebo příkazem:
> dir mojeHalo
Uvnitř adresáře mojeHalo nalezneme dva soubory hello.c}, Makefile a složku .hg, která obsahuje historii repozitáře plus různé interní informace -- více vizRepository.
Tyto soubory jsou přesnou kopií souborů z poslední (tip) revize původní větve klonovaného repozitáře.<<br>> Informace o kopírované verzi repozitáře získáme příkazemparents :2
> cd mojeHalo > hg parents changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
Note: V okamžiku provedeného klonování jsou oba repozitáře totožné. Později se zřejmě oba repozitáře nezávisle na sobě různě změní. Změny lze z jednoho repozitáře do druhého přenést přikazy pull nebo push -- viz dále.
Nyní se již můžeme pustit do zkoumání historie našeho nového repozitáře na další stránce -- TutorialHistory.