From b2553ac28f8ff619dbb5610e3c9f75da30f19c60 Mon Sep 17 00:00:00 2001 From: Ludvik Roubicek Date: Wed, 13 Feb 2019 21:03:02 +0100 Subject: [PATCH] Partial translation Will add something again once I have more time... --- book/07-git-tools/sections/submodules.asc | 64 +++++++++++------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/book/07-git-tools/sections/submodules.asc b/book/07-git-tools/sections/submodules.asc index 086e614..e6fc23c 100644 --- a/book/07-git-tools/sections/submodules.asc +++ b/book/07-git-tools/sections/submodules.asc @@ -1,5 +1,5 @@ [[_git_submodules]] -=== Submodules +=== Submoduly Často se stává, že pracujete na jednom projektu, ale na chvíli si potřebujete odskočit do jiného. Jedná se třeba o knihovnu, kterou vyvinula třetí strana, nebo kterou vyvíjíte odděleně a používáte ji v několika nadřazených projektech. @@ -17,13 +17,13 @@ Submoduly umožňují uchovávat repozitář Git jako podadresář jiného repoz Do svého projektu tak můžete naklonovat jiný repozitář a uchovávat revize oddělené. [[_starting_submodules]] -==== Starting with Submodules +==== Začínáme se submoduly -We'll walk through developing a simple project that has been split up into a main project and a few sub-projects. +Projdeme si vývoj jednoduchého projektu, který byl rozdělen na hlavní projekt a několik podprojektů. -Let's start by adding an existing Git repository as a submodule of the repository that we're working on. -To add a new submodule you use the `git submodule add` command with the absolute or relative URL of the project you would like to start tracking. -In this example, we'll add a library called ``DbConnector''. +Začněme přidánám stávajícího repozitáře Git jako submodulu repozitáře, na němž pracujeme. +K přidání nového submodulu se použivá příkaz `git submodule add` s uvedením absolutního nebo relativního URL projektu, který byste rádi začali sledovat. +V tomto příkladu přidáme knihovnu s názvem ``DbConnector''. [source,console] ---- @@ -36,10 +36,10 @@ Unpacking objects: 100% (11/11), done. Checking connectivity... done. ---- -By default, submodules will add the subproject into a directory named the same as the repository, in this case ``DbConnector''. -You can add a different path at the end of the command if you want it to go elsewhere. +Submoduly budou implicitně přidány jako podprojekty v podadresáři se stejným názvem jako má původní repozitář, v tomto případě ``DbConnector''. +Pokud jej chcete uložit jinam, můžete zadat na konec příkazu jinou cestu. -If you run `git status` at this point, you'll notice a few things. +Pokud v tuto chvíli spustíte `git status`, objevíte několik věcí. [source,console] ---- @@ -54,7 +54,7 @@ Changes to be committed: new file: DbConnector ---- -First you should notice the new `.gitmodules` file. +Nejprve si všimněte nového souboru `.gitmodules`. Jedná se o konfigurační soubor, v němž je uloženo mapování mezi adresou URL projektu a lokálním podadresářem, do nějž jste stáhli repozitář. [source,ini] @@ -69,15 +69,15 @@ Za zmínku stojí, že je tento soubor verzován spolu s ostatními soubory, pod Soubor se odesílá a stahuje se zbytkem projektu. Ostatní uživatelé, kteří budou tento projekt klonovat, díky tomu zjistí, kde najdou projekty submodulů. -[NOTE] +[Poznámka] ===== -Since the URL in the .gitmodules file is what other people will first try to clone/fetch from, make sure to use a URL that they can access if possible. +Jelikož je URL v souboru .gitmodules to, které budou ostatní lidé zkoušet klonovat jako první, ujistěte se, že používáte URL, které bude dostupné i pro ně. For example, if you use a different URL to push to than others would to pull from, use the one that others have access to. You can overwrite this value locally with `git config submodule.DbConnector.url PRIVATE_URL` for your own use. When applicable, a relative URL can be helpful. ===== -The other listing in the `git status` output is the project folder entry. +Další věcí ve výstupu `git status` je položka adresáře projektu. Pokud na ni použijete příkaz `git diff`, uvidíte zajímavou věc: [source,console] @@ -92,10 +92,10 @@ index 0000000..c3f01dc +Subproject commit c3f01dc8862123d317dd46284b05b6892c7b29bc ---- -Although `DbConnector` is a subdirectory in your working directory, Git sees it as a submodule and doesn’t track its contents when you’re not in that directory. -Instead, Git sees it as a particular commit from that repository. +I když je `DbConnector` podadresářem vašeho pracovního adresáře, Git jej vidí jako submodul a nesleduje jeho obsah, pokud nejste v tomto adresáři. +Git jej místo toho vidí jako konkrétní commit z tohoto repozitáře. -If you want a little nicer diff output, you can pass the `--submodule` option to `git diff`. +Pokud budete chtít o něco hezčí výstup diffu, můžete použít volbu `--submodule` pro `git diff`. [source,console] ---- @@ -123,14 +123,14 @@ $ git commit -am 'added DbConnector module' create mode 160000 DbConnector ---- -Notice the `160000` mode for the `DbConnector` entry. +Všimněte si režimu `160000` položky `DbConnector`. Jedná se o speciální režim systému Git, který udává, že revizi zaznamenáváte jako adresář, ne jako podadresář nebo soubor. [[_cloning_submodules]] -==== Cloning a Project with Submodules +==== Klonování projektu se submoduly -Here we’ll clone a project with a submodule in it. -When you clone such a project, by default you get the directories that contain submodules, but none of the files within them yet: +Budeme nyní klonovat projekt obsahující submodul. +Když klonujete takový projekt, vytvoří se adresáře pro submoduly, ale nebudou v nich žádné soubory: [source,console] ---- @@ -158,7 +158,7 @@ $ ls $ ---- -The `DbConnector` directory is there, but empty. +Adresář `DbConnector` existuje, ale je prázdný. Budete muset použít dva příkazy: `git submodule init` k inicializaci lokálního konfiguračního souboru a `git submodule update` k vyzvednutí všech dat z tohoto projektu a checkoutu příslušné revize uvedené ve vašem superprojektu: [source,console] @@ -175,10 +175,10 @@ Checking connectivity... done. Submodule path 'DbConnector': checked out 'c3f01dc8862123d317dd46284b05b6892c7b29bc' ---- -Now your `DbConnector` subdirectory is at the exact state it was in when you committed earlier. +Nyní je podadresář `DbConnector` ve stejném stavu, v jakém jste jej commitovali dříve. -There is another way to do this which is a little simpler, however. -If you pass `--recursive` to the `git clone` command, it will automatically initialize and update each submodule in the repository. +Samozřejmě existuje způsob, jak to udělat o něco jednodušeji. +Pokud použijete volbu `--recursive` v příkazu `git clone`, automaticky zinicializuje a zaktualizuje každý submodul v repozitáři. [source,console] ---- @@ -199,16 +199,16 @@ Checking connectivity... done. Submodule path 'DbConnector': checked out 'c3f01dc8862123d317dd46284b05b6892c7b29bc' ---- -==== Working on a Project with Submodules +==== Práce na projektu se submoduly -Now we have a copy of a project with submodules in it and will collaborate with our teammates on both the main project and the submodule project. +Nyní máme kopii projektu obsahujícího submoduly a budeme spolupracovat s kolegy na hlavním projektu i na projektu submodulu. -===== Pulling in Upstream Changes +===== Aplikování změn z podprojektu -The simplest model of using submodules in a project would be if you were simply consuming a subproject and wanted to get updates from it from time to time but were not actually modifying anything in your checkout. -Let's walk through a simple example there. +Nejjednodušším modelem použití submodulů v projektu by bylo pokud byste pouze používali podprojekt a chtěli čas od času z něj získávat aktualizace, ale nic byste v něm neměnili. +Projděme si jednoduchý příklad. -If you want to check for new work in a submodule, you can go into the directory and run `git fetch` and `git merge` the upstream branch to update the local code. +Když chcete zkontrolovat změny v submodulu, můžete přejít do jeho podadresáře a spustit `git fetch` a `git merge` pro zaktualizování místního kódu z původního repozitáře. [source,console] ---- @@ -223,8 +223,8 @@ Fast-forward 2 files changed, 2 insertions(+) ---- -Now if you go back into the main project and run `git diff --submodule` you can see that the submodule was updated and get a list of commits that were added to it. -If you don't want to type `--submodule` every time you run `git diff`, you can set it as the default format by setting the `diff.submodule` config value to ``log''. +Když se nyní vrátíte do hlavního projektu a spustíte `git diff --submodule`, uvidíte, že submodul byl aktualizován a získali jste seznam commitů, které do něj byly přidány. +Pokud nechcete psát `--submodule` při každém spuštění `git diff`, můžete to nastavit jako výchozí formát nastavením konfigurační volby `diff.submodule` na ``log''. [source,console] ----