Přejít na:

Při tvorbě dokumentů v TeXu nebo (X)HTML můžeme používat obdobné prostředky pro správu verzí jako při programování. Jedním z pokročilejších takových prostředků je systém Git; multiplatformní svobodný open-source distribuovaný systém pro správu verzí dostupný pro mnoho unixových operačních systémů a MS Windows.

Git zejména usnadňuje souběžnou práci více uživatelů na jednom projektu a zajišťuje trvalé uchování historických verzí projektu. Podobně jako systém Subversion umožňuje Git využití postupu kopie–úprava–sloučení, při kterém jsou data ze společného centrálního repositáře stažena do soukromé lokální kopie, modifikována, a následně je upravená verze odeslána zpět do repositáře (a tím zpřístupněna ostatním uživatelům). Velice přirozeně lze však Git použít i k sledování lokálních změn v našem soukromém projektu a až později projekt zpřístupnit ostatním uživatelům ve veřejně dostupném centrálním repositáři.

Pozor: V rámci tohoto cvičení bude vhodné pracovat ve dvojicích. Už na začátku cvičení se proto prosím dohodněte s některým ze svých sousedů, se kterým budete později spolupracovat na ukázkových dokumentech. Pokud na vás dvojice nevyjde, můžete spolupracovat se cvičícím.

Není reálné stihnout úkoly spojené se systémem Subversion i systémem Git v rámci jednoho cvičení. Domluvte se proto se sousedem, který ze systémů během cvičení použijete. Pro úplné začátečníky je doporučeno použít systém Subversion.

Přejít: navigace | na začátek stránky | na konec stránky

Základy práce s Gitem

Pro vytvoření prázdného Gitového repositáře se přesuneme do námi zvoleného pracovního adresáře, použijeme příkaz git init git init
a následně v něm příkazem git commit vytvoříme první revizi. git commit -m "Kořenová revize." --allow-empty
Pokud chceme pracovat s již existujícím repositářem, stáhneme si jej ze vzdáleného počítače příkazem git clone. git clone "<adresa repositáře>"
V adresáři nyní můžeme pracovat, vytvářet nové soubory a podadresáře.

Tip: Krom základního klienta pro příkazovou řádku a přímé integrace v různých IDE existuje několik grafických Git klientů.

V rámci Gitu rozpoznáváme tři základní koncepty:

  1. Pracovní adresář (také worktree) obsahuje veškeré naše rozpracované změny oproti poslední revizi z repositáře.
  2. Oblast připravených změn (také index) obsahuje ty změny z pracovního adresáře, které plánujeme v následující revizi zanést do repositáře.
  3. Repositář obsahuje veškeré dosud zaznamenané revize.
Pokud chceme vytvořené/změněné soubory v pracovním adresáři zanést do indexu, použijeme příkaz git add. git add "<název souboru>"
Pokud chceme z indexu odstranit naplánované změny, použijeme příkaz git reset. git reset HEAD "<název souboru>"
Pokud chceme změny odstanit z indexu i z pracovního adresáře, použijeme rovněž variantu příkazu git reset. git reset --hard HEAD "<název souboru>"
Pokud chceme soubory přesunout nebo smazat z pracovního adresáře a zaznamenat tuto změnu do indexu, použijeme příkazy git mvgit rm. git mv "<název přesouvaného souboru>" "<název nového souboru>"
git rm "<název mazaného souboru>"
Pro zobrazení shrnutí našich změn oproti poslední revizi z repositáře použijeme příkaz git status. Pokud si přejeme zobrazit, jak naše změny ovlivnily obsah souborů, použijeme příkaz git diff. git diff          # Zobrazí rozdíly pracovního adresáře oproti indexu.
git diff HEAD     # Zobrazí rozdíly pracovního adresáře oproti poslední revizi z repositáře.
git diff --cached # Zobrazí rozdíly indexu oproti poslední revizi z repositáře.

Tip: Git klient má integrovanou nápovědu: git help
git help <podpříkaz>
git help init
git help clone
git help add
git help status
git help diff

Ve chvíli, kdy jsme se svými změnami v indexu spokojeni, je můžeme zanést do repositáře pomocí příkazu git commit jako novou revizi. git commit -m "<výstižný komentář k našim změnám>"
V případě, že nás práce s indexem obtěžuje a do repositáře si přejeme zanést veškeré změny v pracovním adresáři, které se týkají souborů z repositáře, (tak, jako to dělá např. systém Subversion) můžeme rovněž použít variantu příkazu git commit. git commit --all -m "<výstižný komentář k našim změnám>"
Práce s indexem činí ovládání Gitu komplikovanějším. Představme si však situaci, kdy máme rozpracované nesourodé změny v několika souborech. Díky přítomnosti indexu můžeme změny naplánovat v několika krocích a rozdělit je do několika revizí. V systémech, které s konceptem indexu nepracují (např. Subversion) nelze takové situace jednoduše řešit.

Pro zobrazení veškerých revizí uložených v aktuální větvi repositáře použijeme příkaz git log. Pro výpis obsahu souboru v konkrétní revizi pak použijeme příkaz git show. git show <název revize>:"<název souboru>" Pro zobrazení informací o konkrétní revizi použijeme rovněž variantu příkazu git show. git show <název revize> Pro zobrazení veškerých změn mezi dvěma revizemi použijeme přikaz git diff. git diff <název počáteční revize>..<název koncové revize>
git diff <název počáteční revize>..<název koncové revize> "<název souboru, který nás zajímá>"

Pokud jsme repositář vytvořili na svém disku příkazem git init, můžeme se v určitou chvíli rozhodnout, že svůj repositář nasdílíme jinému vzdálenému počítači. Typicky se může jednat např. o veřejný server některé online služby (např. GitHub, GitLab nebo BitBucket), skrz který chceme obsah repositáře zpřístupnit ostatním uživatelům. Toto provedeme ve dvou krocích:

  1. Pro vzdálený repositář (také remote) si v Gitu vytvoříme záznam příkazem git remote add. git remote add <naše pojmenování vzdáleného repositáře> <adresa repositáře>
  2. Obsah vybrané větve našeho místního repositáře zašleme do vzdáleného repositáře příkazem git push. git push <naše pojmenování vzdáleného repositáře> \
      <název větve v místním repositáři>:<název větve ve vzdáleném repositáři>
    Koncept větví spadá mimo rozsah tohoto krátkého tutoriálu. Pro základní práci postačí vědět, že výchozí větev, se kterou pracujeme, se nazývá master. Příkaz by tedy vypadal následovně: git push <naše pojmenování vzdáleného repositáře> master:master nebo zkráceně git push <naše pojmenování vzdáleného repositáře> master

Pokud je náš místní repositář kopií repositáře vzdáleného, budeme si čas od času chtít stáhnout revize zaslané ostatními uživateli a odeslat své nové revize. Pro stažení nových revizí od ostatních uživatelů použijeme příkaz git pull. git pull <naše pojmenování vzdáleného repositáře> master V případě, že jsme si obsah vzdáleného repositáře stáhli pomocí příkazu git clone, nazývá se vzdálený repositář implicitně origin. Příkaz by tedy vypadal následovně: git pull origin master Pokud se revize zaslané ostatními uživateli netýkaly stejných částí souborů, které jsme editovali my, budou automaticky začleněny do našeho repositáře a pracovního adresáře, aniž bychom museli řešit konflikty. Následně své nové revize odešleme příkazem git push <naše pojmenování vzdáleného repositáře> master

Podrobné informace o systému Git naleznete v oficiální dokumentaci Pro Git book.

Přejít: navigace | na začátek stránky | na konec stránky

Použití s TeXem

Všichni studenti FI MU si mohou pro své projekty založit Git repositář na fakultním serveru (další informace a pravidla).

  1. Založte si každý svůj vlastní repositář pojmenovaný ve tvaru <váš-fi-login>_PB029_cv4 (PB verzálkami!).
  2. Po vytvoření repositáře dodatečně přidělte v menu „Members“
    • uživatele xnovot32, xruzick7sojka s přístupovými právy „Project Access“ nastavenými na hodnotu „Reporter“,
    • svého souseda, se kterým budete na cvičení spolupracovat na cvičných dokumentech s přístupovými právy „Project Access“ nastavenými na hodnotu „Developer“.
  3. Nastavte základní informace o sobě a stáhněte si svůj repositář ze serveru do pracovní kopie na disku, kde budete provádět úpravy. Na Windows můžete použít grafického klienta Git GUI; nabídka jeho funkcí je dostupná pod pravým tlačítkem myši ve správci souborů a informace o pokročilejších úkonech naleznete v online manuálu. Na všech platformách je pak dostupný klient pro příkazovou řádku (části vyznačené kurzívou nahraďte svými údají): $ cd ~
    $ git config --global user.name "Vít Novotný"
    $ git config --global user.email "witiko@mail.muni.cz"
    $ git clone "https://gitlab.fi.muni.cz/xnovot32/xnovot32_PB029_cv4.git"
    Cloning into "xnovot32_PB029_cv4"...
    warning: You appear to have cloned an empty repository.
    Checking connectivity... done.
  4. Stáhněte si jednoduchý LaTeXový dokument, ve kterém budete provádět korekturu, a uložte jej do kořenového adresáře vaší pracovní kopie: $ cd xnovot32_PB029_cv4/
    $ wget "https://www.fi.muni.cz/lemma/PB029/practices/sprava-verzi/files/dokument.tex"
    --2016-09-13 00:50:50-- https://www.fi.muni.cz/lemma/PB029/practices/sprava-verzi/files/dokument.tex
    Překládám www.fi.muni.cz (www.fi.muni.cz)… 147.251.48.1, 2001:718:801:230::1
    Navazuje se spojení s www.fi.muni.cz (www.fi.muni.cz)|147.251.48.1|:443… spojeno.
    HTTP požadavek odeslán, program čeká na odpověď… 200 OK
    Délka: 1121 (1,1K) [text/plain]
    Ukládám do: „dokument.tex“

    dokument.tex 100%[===================>] 1,09K --.-KB/s in 0s

    2016-09-13 00:50:50 (18,3 MB/s) – „dokument.tex“ uloženo [1121/1121]
    Následně dokument přidejte do seznamu souborů spravovaných systémem Git. $ git add dokument.tex
  5. Tuto původní verzi dokumentu, dosud bez vašich úprav, vložte jako první revizi do svého lokálního Git repositáře. $ git commit -m "Vložen původní TeXový dokument pro korekturu."
    [master (root-commit) 917ae6b] Vložen původní TeXový dokument pro korekturu.
     1 file changed, 38 insertions(+)
     create mode 100644 dokument.tex
    Následně své změny odešlete do vašeho Git repositáře na fakultním serveru. Nezapomeňte revizi vhodně okomentovat! $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 981 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4.git
     * [new branch]      master -> master
    Pokud komentář neuvedete jako argument parametru -m, budete vyzvání k zadání komentáře interaktivně v textovém editoru.
  6. Nyní si otevřete soubor dokument.tex ve svém oblíbeném textovém editoru a v prvním odstavci textu, tzn. před značkou %%%, vyhledejte a opravte chyby. Následně si můžete snadno ověřit, že systém Git ví o změnách provedených v dokumentu. $ git status
    On branch master
    Your branch is up-to-date with "origin/master".
    Changes not staged for commit:
      (use "git add ..." to update what will be committed)
      (use "git checkout -- ..." to discard changes in working directory)

      modified:   dokument.tex

    no changes added to commit (use "git add" and/or "git commit -a")
    Provedené změny si můžete snadno zobrazit. $ git diff Opravený text odešlete s vhodným komentářem na server jako novou revizi. $ git add dokument.tex
    $ git commit --message "Opraven první odstavec textu."
    [master 4b6a5b5] Opraven první odstavec textu.
     1 file changed, 2 insertions(+), 2 deletions(-)
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 311 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    To gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4.git
       917ae6b..4b6a5b5  master -> master
  7. Nyní nastává čas na spolupráci na dokumentu s vaším sousedem. Zjistěte si adresu jeho repositáře s jeho dokumentem, ve kterém provedl opravu prvního odstavce textu. (Pokud provedl správně nastavení přístupových práv při zakládání repositáře, měli byste mít právo přistupovat do jeho repositáře pro čtení i zápis.) Stáhněte si aktuální verzi obsahu jeho repositáře někam na disk, ale mimo pracovní kopii vašeho repositáře! $ cd ~
    $ git clone "https://gitlab.fi.muni.cz/sojka/sojka_PB029_cv4.git"
    Cloning into "sojka_PB029_cv4"...
    remote: Counting objects: 6, done.
    remote: Compressing objects: 100% (4/4), done.
    remote: Total 6 (delta 1), reused 0 (delta 0)
    Receiving objects: 100% (6/6), done.
    Resolving deltas: 100% (1/1), done.
    Checking connectivity... done.
  8. Prohlédněte si, jak soused dosud postupoval při vývoji svého dokumentu: $ git log
    commit 4b6a5b58b25e6399347dcc210f0a4aff4a5ebaee
    Author: Petr Sojka
    Date:   Mon Sep 12 16:13:10 2016 +0200

        Opraven první odstavec textu.

    commit 917ae6b16c04cfb5fbc277972bb857cfea709f8a
    Author: Petr Sojka
    Date:   Mon Sep 12 15:47:55 2016 +0200

        Vložen původní TeXový dokument pro korekturu.
  9. Následně se podívejte, jaké opravy provedl v prvním odstavci textu příkazem diff Git klienta. Pokud byly změny provedeny v jediné revizi (např. v revizi s hašem 4b6a5b5… tak jako v přechozí ukázce kódu), použijte libovolný z následujících příkazů: $ git show 4b6a5b58b25e6399347dcc210f0a4aff4a5ebaee
    $ git show 4b6a5b5
    $ git show HEAD
    Pokud bylo opravných revizí více (např. opravy odesílal postupně v posledních čtyřech revizích), můžete použít libovolný z následujících příkazů: $ git diff HEAD~4..HEAD Pokud najdete rozdíly mezi jeho a svým řešením, proveďte nutné opravy a novou verzi dokumentu odešlete na server příkazem commit (viz výše).
  10. Nyní si otevřete soubor dokument.tex svého souseda a ve druhém odstavci textu, tzn. za značkou %%%, vyhledejte a opravte chyby. Následně opravený text odešlete s vhodným komentářem do sousedova repozitáře jako novou revizi. $ git add dokument.tex
    $ git commit -m "Opraven druhý odstavec textu."
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 307 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    To gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4.git
       4b6a5b5..03d5b8e  master -> master
  11. Vyčkejte, až opravu druhého odstavce textu provede také váš soused ve vašem dokumentu a odešle ji do vašeho repositáře. Následně se vraťte do pracovní kopie svého repositáře $ cd ~/xnovot32_PB029_cv4/ začleňte si změny, které odeslal do vašeho repositáře váš soused $ git pull origin master
    remote: Counting objects: 3, done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 3 (delta 1), reused 0 (delta 0)
    Unpacking objects: 100% (3/3), done.
    From gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4
     * branch            master     -> FETCH_HEAD
       4b6a5b5..03d5b8e  master     -> origin/master
    Updating 4b6a5b5..03d5b8e
    Fast-forward
     dokument.tex | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    a zkontrolujte, zda nalezl a opravil stejné chyby jako vy: $ git diff 4b6a5b5..03d5b8e (Parametry příkazu diff samozřejmě upravte, pokud se čísla commitů ve vašem případě liší.)
  12. Na závěr si můžete prohlédnout seznam revizí $ git log
    commit 03d5b8e295bac5852ce3d9e68d39308e1accd77c
    Author: Petr Sojka
    Date:   Mon Sep 12 22:06:18 2016 +0200

        Opraven druhý odstavec textu.

    commit 4b6a5b58b25e6399347dcc210f0a4aff4a5ebaee
    Author: Vít Novotný
    Date:   Mon Sep 12 16:13:10 2016 +0200

        Opraven první odstavec textu.

    commit 917ae6b16c04cfb5fbc277972bb857cfea709f8a
    Author: Vít Novotný
    Date:   Mon Sep 12 15:47:55 2016 +0200

        Vložen původní TeXový dokument pro korekturu.
    a kompletní souhrn změn, které byly v původní verzi dokumentu provedeny $ git diff 917ae6b..HEAD dokument.tex vypsat původní verzi dokumentu tak, jak vypadal v první revizi $ git show 917ae6b:dokument.tex apod. Všechny verze odeslané do repositáře na server jsou zde navždy k dispozici v nezměnitelné podobě a můžeme se k nim v případě potřeby kdykoliv vrátit.
Přejít: navigace | na začátek stránky | na konec stránky

Použití s textovými procesory [nepovinné za 1 bonusový bod]

Jistou omezenou podporu pro týmovou spolupráci poskytují také textové procesory typu MS Office Word nebo LibreOffice Writer. Na počítačích v učebně je instalován kancelářský balík LibreOffice, na kterém si podporu sledování změn v textových procesorech vyzkoušíte.

  1. Stáhněte si a do svého repositáře uložte jednoduchý OpenDocument dokument: $ cd ~/xnovot32_PB029_cv4/
    $ wget "https://www.fi.muni.cz/lemma/PB029/practices/sprava-verzi/files/dokument.odt"
    --2016-09-13 00:53:42-- https://www.fi.muni.cz/lemma/PB029/practices/sprava-verzi/files/dokument.odt
    Překládám www.fi.muni.cz (www.fi.muni.cz)… 147.251.48.1, 2001:718:801:230::1
    Navazuje se spojení s www.fi.muni.cz (www.fi.muni.cz)|147.251.48.1|:443… spojeno.
    HTTP požadavek odeslán, program čeká na odpověď… 200 OK
    Délka: 19673 (19K) [application/vnd.oasis.opendocument.text]
    Ukládám do: „dokument.odt“

    dokument.odt 100%[========================>] 19,21K --.-KB/s in 0,007s

    2016-09-13 00:53:42 (2,77 MB/s) – „dokument.odt“ uloženo [19673/19673]
    Následně dokument přidejte do seznamu souborů spravovaných systémem Git. $ git add dokument.odt
    $ git diff HEAD
    diff --git a/dokument.odt b/dokument.odt
    new file mode 100644
    index 0000000..6d8f8d0
    Binary files /dev/null and b/dokument.odt differ
    Jak vidíte, je soubor Git klientem rozpoznán jako binární. Binární soubory je možné spravovat systémem Git, ovšem práce s nimi je komplikovanější. Není například možné si snadno zobrazit rozdíl mezi dvěma verzemi binárního souboru, tak jak jsme to viděli příkazem git diff u textových souborů.
  2. Tuto původní verzi dokumentu, dosud bez vašich úprav, odešlete do vašeho Git repositáře na server. $ git commit -m "Vložen původní OpenDocument dokument pro korekturu."
    [master 309230d] Vložen původní OpenDocument dokument pro korekturu.
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 dokument.odt
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 17.41 KiB | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4.git
       e4d5004..309230d  master -> master
  3. Nyní si otevřete soubor dokument.odt v LibreOffice Writer a v nastavení textového procesoru vyplňte svoje jméno, příjmení a iniciály, které budou použity pro identifikaci autorů změn. Nástroje → Možnosti … → LibreOffice → Uživatelské údaje
  4. Před prováděním jakýchkoliv úprav textu zapněte sledování změn v menu Úpravy → Sledování změn → Záznam
  5. V první části textu před horizontální linkou vyhledejte a opravte chyby. Prováděné změny budou v režimu sledování změn graficky vyznačeny, pokud tuto funkci nevypnete volbou Úpravy → Sledování změn → Zobrazit.
    Tip: Velmi obdobným způsobem je možné sledování změn aktivovat také v MS Office Word: Revize → Sledování změn Na kartě Revize můžete také v rozbalovacím menu snadno přepínat mezi různými způsoby zobrazení dokumentu:
    • Konečný se značkami graficky vyznačuje změny provedené v dokumentu,
    • volba Konečný zobrazuje novou podobu dokumentu bez vyznačení změn,
    • obdobné volby Původní se značkamiPůvodní pak pracují s původní podobou dokumentu před provedením sledovaných změn.
  6. Opravený text uložte a ověřte, že Git ví o změnách v tomto souboru ve vaší pracovní kopii. $ git status
    On branch master
    Your branch is up-to-date with "origin/master".
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)

      modified:   dokument.odt

    no changes added to commit (use "git add" and/or "git commit -a")
    Všechny změny odešlete s vhodným komentářem na server jako novou revizi projektu. $ git add dokument.odt
    $ git commit -m "Opraven první odstavec OpenDocument dokumentu."
    [master 7a8b2ee] Opraven první odstavec OpenDocument dokumentu.
     1 file changed, 0 insertions(+), 0 deletions(-)
     rewrite dokument.odt (99%)
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 14.58 KiB | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4.git
       309230d..7a8b2ee  master -> master
  7. Nyní budete opět spolupracovat s vaším sousedem. Až odešle svou korekturu prvního odstavce OpenDocument dokumentu na server, přejděte do adresáře odpovídajícího jeho repositáři a aktualizujte svou pracovní kopii: $ cd ~/sojka_PB029_cv4/
    $ git pull origin master
    remote: Counting objects: 6, done.
    remote: Compressing objects: 100% (6/6), done.
    remote: Total 6 (delta 0), reused 0 (delta 0)
    Unpacking objects: 100% (6/6), done.
    From gitlab.fi.muni.cz:sojka/sojka_PB029_cv4
     * branch            master     -> FETCH_HEAD
       e4d5004..7a8b2ee  master     -> origin/master
    Updating e4d5004..7a8b2ee
    Fast-forward
     dokument.odt | Bin 0 -> 16194 bytes
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 dokument.odt
  8. Otevřete si právě stažený dokument vašeho souseda a zkontrolujte jím provedené korektury v prvním odstavci. Úpravy → Sledování změn → Přijmout nebo odmítnout … V zobrazeném okně můžete myší vybrat jednotlivé zaznamenané změny. Místo editace bude zvýrazněno přímo v dokumentu. Následně můžete tlačítky Přijmout/Odmítnout jednotlivé úpravy potvrdit nebo zrušit.
  9. Po schválení/odmítnutí změn navržených vaším sousedem v prvním odstavci proveďte případné další nezbytné úpravy textu před horizontálním oddělovačem. Následně proveďte korektury i ve zbytku textu, novou podobu dokumentu uložte a odešlete do repositáře vašeho souseda. $ git add dokument.odt
    $ git commit -m "Zpracovány korektury prvního odstavce a opraven druhý odstavec OpenDocument dokumentu."
    [master e026929] Zpracovány korektury prvního odstavce a opraven druhý odstavec OpenDocument dokumentu.
     1 file changed, 0 insertions(+), 0 deletions(-)
     rewrite dokument.odt (78%)
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 14.58 KiB | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4.git
       7a8b2ee..e026929  master -> master
  10. Vyčkejte na dokončení a odeslání oprav vašeho dokumentu vaším sousedem. Pak se vraťte do pracovní kopie svého repositáře a aktualizujte svou pracovní kopii: $ cd ~/xnovot32_PB029_cv4/
    $ git pull origin master
    remote: Counting objects: 3, done.
    remote: Compressing objects: 100% (3/3), done.
    remote: Total 3 (delta 0), reused 0 (delta 0)
    Unpacking objects: 100% (3/3), done.
    From gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4
     * branch            master     -> FETCH_HEAD
       7a8b2ee..e026929  master     -> origin/master
    Updating 7a8b2ee..e026929
    Fast-forward
     dokument.odt | Bin 16194 -> 16180 bytes
     1 file changed, 0 insertions(+), 0 deletions(-)
  11. Opět zkontrolujte navržené korektury a známým postupem je schvalte nebo odmítněte. Následně vypněte sledování změn v tomto dokumentu, dokument uložte a finální verzi odešlete na server jako novou revizi projektu. $ git add dokument.odt
    $ git commit -m "Konečná schválená verze OpenDocument dokumentu."
    [master 513961e] Konečná schválená verze OpenDocument dokumentu.
     1 file changed, 0 insertions(+), 0 deletions(-)
     rewrite dokument.odt (80%)
    $ git push origin master
    Counting objects: 3, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 14.61 KiB | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To gitlab.fi.muni.cz:xnovot32/xnovot32_PB029_cv4.git
       e026929..513961e  master -> master

Tip: V LibreOffice Writer je možné vedle sledování změn ukládat na úrovni souboru s dokumentem jeho revize obdobně, jako jsou ukládány revize v SVN. (V MS Office Word obdobná možnost chybí.) Soubor → Verze … → Uložit novou verzi Uložené verze si můžete později zobrazit nebo z nich vytvořit nový dokument obsahově odpovídající dané verzi. Uloženou revizi můžete také porovnat s aktuální podobu dokumentu a přijmout/odmítnout jednotlivé rozdíly mezi oběma podobami dokumentu.

Tip: V případě nedůsledné organizace spolupráce více autorů na společném dokumentu se můžete dostat do situace, kdy existují dva samostatné soubory s dokumentem a oba obsahují rozdílné změny, které je třeba sloučit pro vytvoření finální podoby dokumentu. V tomto případě můžete využít funkce porovnání dokumentů:

  • LibreOffice Writer Úpravy → Porovnat dokument …
  • MS Office Word Revize → Porovnat
Přejít: navigace | na začátek stránky | na konec stránky

Praktické úkoly k procvičení [nepovinné]

Přejít: navigace | na začátek stránky | na konec stránky