{"id":35419,"date":"2019-10-31T22:04:14","date_gmt":"2019-10-31T19:04:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ispolzujte-git-pri-dokumentirovanii\/"},"modified":"2019-10-31T22:04:14","modified_gmt":"2019-10-31T19:04:14","slug":"ispolzujte-git-pri-dokumentirovanii","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/ispolzujte-git-pri-dokumentirovanii","title":{"rendered":"Pou\u017eijte GIT p\u0159i dokumentov\u00e1n\u00ed","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>N\u011bkdy m\u016f\u017ee b\u00fdt kritick\u00fd nejen samotn\u00fd dokument, ale i proces pr\u00e1ce na n\u011bm. Nap\u0159\u00edklad u projekt\u016f je velk\u00e1 \u010d\u00e1st pr\u00e1ce spojena pr\u00e1v\u011b s p\u0159\u00edpravou dokumentace a nespr\u00e1vn\u00fd proces m\u016f\u017ee v\u00e9st k chyb\u00e1m a dokonce ke ztr\u00e1t\u011b informac\u00ed, a tud\u00ed\u017e i k ztr\u00e1t\u011b \u010dasu a zisku. I kdy\u017e toto t\u00e9ma nen\u00ed centr\u00e1ln\u00ed v va\u0161\u00ed pr\u00e1ci a je na okraji, spr\u00e1vn\u00fd proces st\u00e1le m\u016f\u017ee zlep\u0161it kvalitu dokumentu a u\u0161et\u0159it v\u00e1m \u010das.<\/p>\n<p>P\u0159\u00edstup uveden\u00fd zde, s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/md2docx\">p\u0159\u00edkladem konkr\u00e9tn\u00ed realizace<\/a><\/noindex>, m\u00e1 n\u00edzk\u00fd vstupn\u00ed pr\u00e1h. Technicky m\u016f\u017eete u\u017e z\u00edtra za\u010d\u00edt pracovat jinak. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Formulace \u00fakolu<\/h3>\n<p>\nMus\u00edte vytvo\u0159it ur\u010dit\u00fd dokument nebo sadu dokument\u016f. M\u016f\u017ee to b\u00fdt projektov\u00e1 dokumentace nebo protokolov\u00e1n\u00ed va\u0161\u00ed s\u00edt\u011b, nebo n\u011bco jednodu\u0161\u0161\u00edho, nap\u0159\u00edklad pot\u0159ebujete popsat procesy ve spole\u010dnosti nebo ve va\u0161em odd\u011blen\u00ed. Obecn\u011b \u0159e\u010deno, jde o jak\u00fdkoli dokument nebo sadu dokument\u016f s textem, obr\u00e1zky, tabulkami\u2026 Zt\u00ed\u017e\u00edme \u00fakol t\u00edm, \u017ee <\/p>\n<ol>\n<li>tato pr\u00e1ce p\u0159edpokl\u00e1d\u00e1 spole\u010dn\u00e9 \u00fasil\u00ed skupiny nebo n\u011bkolika skupin zam\u011bstnanc\u016f<\/li>\n<li>na v\u00fdstupu chcete m\u00edt dokument v ur\u010dit\u00e9m form\u00e1tu, s atributy firemn\u00edho stylu, vytvo\u0159en\u00fd podle ur\u010dit\u00e9 \u0161ablony. Pro ur\u010dit\u00e9 ur\u010den\u00ed budeme pova\u017eovat, \u017ee to je MS Word (.docx)<\/li>\n<\/ol>\n<p>\nP\u0159ed 10 lety by byl p\u0159\u00edstup jednozna\u010dn\u00fd: vytvo\u0159ili bychom dokumenty MS Word a n\u011bjak\u00fdm zp\u016fsobem zorganizovali pr\u00e1ci na zm\u011bn\u00e1ch. <\/p>\n<p>A tento p\u0159\u00edstup z\u016fst\u00e1v\u00e1 platn\u00fd. Pou\u017e\u00edvaj\u00ed ho i velc\u00ed integr\u00e1to\u0159i p\u0159i vytv\u00e1\u0159en\u00ed projektov\u00e9 dokumentace. Ale intuitivn\u011b je z\u0159ejm\u00e9, \u017ee pokud na dokumentu skute\u010dn\u011b intenzivn\u011b pracujete, s mnoha \u00fapravami a diskusemi po del\u0161\u00ed dobu, nen\u00ed tento p\u0159\u00edstup p\u0159\u00edli\u0161 pohodln\u00fd.<\/p>\n<blockquote><p><b>P\u0159\u00edklad<\/b><\/p>\n<p>Tuto problematiku jsem intenzivn\u011b poc\u00edtil, kdy\u017e jsem pracoval v jednom velk\u00e9m integr\u00e1torovi. Proces zm\u011bny projektov\u00e9 dokumentace byl n\u00e1sleduj\u00edc\u00ed:<\/p>\n<ol>\n<li>in\u017een\u00fdr st\u00e1hne posledn\u00ed verzi dokumentu MS Word (.docx)<\/li>\n<li>zm\u011bn\u00ed n\u00e1zev<\/li>\n<li>prov\u00e1d\u00ed \u00fapravy v re\u017eimu sledov\u00e1n\u00ed<\/li>\n<li>pos\u00edl\u00e1 dokument s \u00fapravami architektovi<\/li>\n<li>tak\u00e9 pos\u00edl\u00e1 seznam v\u0161ech oprav s koment\u00e1\u0159i<\/li>\n<li>architekt analyzuje zm\u011bny<\/li>\n<li>pokud je v\u0161e v po\u0159\u00e1dku, zkop\u00edruje tyto zm\u011bny do souboru s posledn\u00ed verz\u00ed, zm\u011bn\u00ed verzi a nahr\u00e1v\u00e1 na sd\u00edlen\u00fd zdroj<\/li>\n<li>pokud jsou p\u0159ipom\u00ednky, zah\u00e1j\u00ed se diskuse (e-mailem nebo na sch\u016fzk\u00e1ch)<\/li>\n<li>dos\u00e1hne se konsenzu<\/li>\n<li>d\u00e1le body 3 \u2013 9<\/li>\n<\/ol>\n<p>\nKdy\u017e pr\u00e1ce nebyla intenzivn\u00ed, fungovalo to n\u011bjak, ale p\u0159ece jen to fungovalo. Ale v ur\u010dit\u00e9m okam\u017eiku se tento proces stal \u00fazk\u00fdm m\u00edstem cel\u00e9ho projektu a vedl k probl\u00e9m\u016fm. Probl\u00e9m je, \u017ee v\u0161echno jde \u0161patn\u011b, jakmile se zm\u011bny prov\u00e1d\u011bj\u00ed \u010dasto a sou\u010dasn\u011b n\u011bkolika t\u00fdmy.<\/p>\n<p>Kdy\u017e jsme p\u0159e\u0161li do f\u00e1ze p\u0159edb\u011b\u017en\u00e9ho testov\u00e1n\u00ed, za\u010daly se objevovat r\u016fzn\u00e9 probl\u00e9my a a\u010dkoliv \u0161lo o drobnosti, bylo \u010dasto pot\u0159eba m\u011bnit dokumentaci \u2014 \u010dty\u0159i r\u016fzn\u00e9 t\u00fdmy, denn\u011b, prakticky sou\u010dasn\u011b, s diskuzemi. V\u0161echny tyto zm\u011bny proch\u00e1zely jedn\u00edm in\u017een\u00fdrem \u2014 architektem. Soubor s n\u00e1vrhem projektu byl obrovsk\u00fd, a n\u00e1sledn\u011b byl architekt zat\u00ed\u017een rutinn\u00ed prac\u00ed spojenou s velk\u00fdm mno\u017estv\u00edm kop\u00edrov\u00e1n\u00ed, editov\u00e1n\u00ed, d\u011blal mnoho chyb, bylo pot\u0159eba v\u0161e dvakr\u00e1t zkontrolovat, znovu pos\u00edlat, a celkov\u011b to bylo bl\u00edzko chaosu. <\/p>\n<p>V tomto p\u0159\u00edpad\u011b tento p\u0159\u00edstup, p\u0159\u00edstup pr\u00e1ce s dokumentem MS Word, fungoval s velk\u00fdm skluzem a vytv\u00e1\u0159el probl\u00e9my.<\/p><\/blockquote>\n<p><\/p>\n<h3>Git, Markdown<\/h3>\n<p>\nKdy\u017e jsem se setkal s probl\u00e9mem popsan\u00fdm ve v\u00fd\u0161e uveden\u00e9m p\u0159\u00edkladu, za\u010dal jsem tento probl\u00e9m zkoumat.<br \/>\nVid\u011bl jsem, \u017ee st\u00e1le v\u00edce se st\u00e1v\u00e1 popul\u00e1rn\u00ed pou\u017e\u00edv\u00e1n\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Markdown\">Markdown<\/a><\/noindex> ve spojen\u00ed s <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Git\">Git<\/a><\/noindex> p\u0159i vytv\u00e1\u0159en\u00ed dokument\u016f.<\/p>\n<p>Git je n\u00e1stroj pro v\u00fdvoj. Ale pro\u010d ho nepou\u017e\u00edt pro proces dokumentace? V tomto p\u0159\u00edpad\u011b je ot\u00e1zka v\u00edcestup\u0148ov\u00e9 pr\u00e1ce vy\u0159e\u0161ena. Abychom v\u0161ak pln\u011b vyu\u017eili mo\u017enosti Gitu, pot\u0159ebujeme textov\u00fd form\u00e1t dokumentu, pot\u0159ebujeme naj\u00edt jin\u00fd n\u00e1stroj, ne MS Word, a pro tyto \u00fa\u010dely je Markdown ide\u00e1ln\u00ed. <\/p>\n<p>Markdown je jednoduch\u00fd jazyk pro textov\u00e9 zna\u010den\u00ed. Je ur\u010den k vytv\u00e1\u0159en\u00ed p\u011bkn\u011b form\u00e1tovan\u00fdch text\u016f v b\u011b\u017en\u00fdch TXT souborech. Pokud budeme vytv\u00e1\u0159et na\u0161e dokumenty v Markdownu, pak vazba Markdown \u2014 Git vypad\u00e1 p\u0159irozen\u011b.<\/p>\n<p>V\u0161e by bylo v po\u0159\u00e1dku a mohli bychom tuto \u010d\u00e1st uzav\u0159\u00edt, kdyby nebylo na\u0161eho druh\u00e9ho po\u017eadavku: \u201ena v\u00fdstupu pot\u0159ebujeme dokument v ur\u010dit\u00e9m form\u00e1tu, se zn\u00e1mkami firemn\u00edho stylu, vytvo\u0159en\u00fd podle ur\u010dit\u00e9 \u0161ablony\u201c (a dohodli jsme se na za\u010d\u00e1tku, \u017ee pro jistotu to bude MS Word). To znamen\u00e1, \u017ee pokud jsme se rozhodli pou\u017e\u00edt Markdown, mus\u00edme n\u011bjak p\u0159ev\u00e9st tento soubor na .docx po\u017eadovan\u00e9ho vzhledu.<\/p>\n<p>Existuj\u00ed programy na p\u0159evod mezi r\u016fzn\u00fdmi form\u00e1ty, nap\u0159\u00edklad, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Pandoc\">Pandoc<\/a><\/noindex>.<br \/>\nM\u016f\u017eete p\u0159ev\u00e9st soubor Markdown do form\u00e1tu .docx pomoc\u00ed tohoto programu.<br \/>\nAle i tak je t\u0159eba ch\u00e1pat, \u017ee za prv\u00e9, ne v\u0161echno, co je v Markdown, bude p\u0159evedeno do MS Word a za druh\u00e9, MS Word je cel\u00e1 zem\u011b ve srovn\u00e1n\u00ed s kompaktn\u00edm, ale p\u0159ece jen m\u011bste\u010dkem, kter\u00fdm Markdown je. Existuje obrovsk\u00e9 mno\u017estv\u00ed funkc\u00ed, kter\u00e9 MS Word nab\u00edz\u00ed a kter\u00e9 v \u017e\u00e1dn\u00e9m p\u0159\u00edpad\u011b nejsou v Markdown. Nelze jednodu\u0161e vz\u00edt a s ur\u010dit\u00fdmi kl\u00ed\u010di p\u0159ev\u00e9st v\u00e1\u0161 Markdown form\u00e1t do po\u017eadovan\u00e9ho vzhledu MS Word pomoc\u00ed Pandoc. Obvykle tedy, po p\u0159evodu, je nutn\u00e9 \u201edopracovat\u201c z\u00edskan\u00fd dokument .docx ru\u010dn\u011b, co\u017e op\u011bt m\u016f\u017ee b\u00fdt \u010dasov\u011b n\u00e1ro\u010dn\u00e9 a m\u016f\u017ee v\u00e9st k chyb\u00e1m.<\/p>\n<p>Kdybychom mohli napsat skript, kter\u00fd by automaticky \u201edopracov\u00e1val\u201c to, s \u010d\u00edm si Pandoc neporadil \u2013 to by bylo ide\u00e1ln\u00ed \u0159e\u0161en\u00ed.<\/p>\n<p>Vzhledem k nesrovnatelnosti funkc\u00ed MS Word a Markdown obecn\u011b je podle m\u00e9ho n\u00e1zoru vy\u0159e\u0161en\u00ed tohoto \u00fakolu nemo\u017en\u00e9, ale lze to aplikovat na konkr\u00e9tn\u00ed situace, konkr\u00e9tn\u00ed po\u017eadavky? Moje zku\u0161enost ukazuje, \u017ee ano, je to mo\u017en\u00e9 a pravd\u011bpodobn\u011b to mo\u017en\u00e9 je pro mnoh\u00e9, nebo mo\u017en\u00e1 dokonce pro v\u011bt\u0161inu situac\u00ed. <\/p>\n<h3>\u0158e\u0161en\u00ed specifick\u00e9ho \u00fakolu<\/h3>\n<p>\nTak\u017ee v m\u00e9m p\u0159\u00edpad\u011b, po p\u0159evodu souboru pomoc\u00ed Pandoc, jsem musel ru\u010dn\u011b prov\u00e9st dodate\u010dn\u00e9 zpracov\u00e1n\u00ed soubor\u016f, a to konkr\u00e9tn\u011b<\/p>\n<ul>\n<li>p\u0159idat do Wordu pole s automatick\u00fdm \u010d\u00edslov\u00e1n\u00edm nadpis\u016f (caption) tabulek a obr\u00e1zk\u016f<\/li>\n<li>zm\u011bnit styl pro tabulky <\/li>\n<\/ul>\n<p>\nNena\u0161el jsem, jak toho dos\u00e1hnout standardn\u00edmi (Pandoc) nebo zn\u00e1m\u00fdmi prost\u0159edky. Proto jsem pou\u017eil python skript s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mhammond\/pywin32\">pywin32<\/a><\/noindex> bal\u00ed\u010dkem. V d\u016fsledku toho jsem dos\u00e1hl pln\u00e9 automatizace. Nyn\u00ed mohu p\u0159ev\u00e9st sv\u016fj soubor Markdown do po\u017eadovan\u00e9ho tvaru dokumentu MS Word jedn\u00edm p\u0159\u00edkazem. <\/p>\n<p>Pod\u00edvejte se na detaily <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/md2docx\">zde<\/a><\/noindex>.<\/p>\n<blockquote><p><b>Pozn\u00e1mka<\/b><\/p>\n<p>V tomto p\u0159\u00edkladu samoz\u0159ejm\u011b p\u0159ev\u00e1d\u00edm ur\u010dit\u00fd abstraktn\u00ed Markdown soubor, ale stejn\u00fd p\u0159\u00edstup byl pou\u017eit tak\u00e9 na 'bojov\u00e9m' dokumentu, a na v\u00fdstupu jsem dostal prakticky stejn\u00fd dokument MS Word, kter\u00fd jsme d\u0159\u00edve z\u00edsk\u00e1vali ru\u010dn\u00edm form\u00e1tov\u00e1n\u00edm. <\/p><\/blockquote>\n<p>\nObecn\u011b, s pywin32 m\u00e1me prakticky plnou kontrolu nad dokumentem MS Word, co\u017e n\u00e1m umo\u017e\u0148uje m\u011bnit ho a p\u0159izp\u016fsobovat vzhledu, kter\u00fd vy\u017eaduje v\u00e1\u0161 firemn\u00ed standard. Ostatn\u011b t\u011bchto c\u00edl\u016f bylo mo\u017en\u00e9 dos\u00e1hnout i pomoc\u00ed jin\u00fdch n\u00e1stroj\u016f, nap\u0159\u00edklad VBA maker, ale mn\u011b bylo pohodln\u011bj\u0161\u00ed pou\u017e\u00edt python.<\/p>\n<p>Kr\u00e1tk\u00fd vzorec tohoto p\u0159\u00edstupu:<\/p>\n<pre><code class=\"plaintext\">Markdown + Git -- (n\u011bco) --&gt; MS Word<\/code><\/pre>\n<p>\nNen\u00ed tak d\u016fle\u017eit\u00e9, \u010d\u00edm je 'n\u011bco'. V m\u00e9m p\u0159\u00edpad\u011b to byl Pandoc a python s pywin32. Mo\u017en\u00e1 m\u00e1te jin\u00e9 preference, ale d\u016fle\u017eit\u00e9 je, \u017ee je to mo\u017en\u00e9. A to je hlavn\u00ed poselstv\u00ed tohoto \u010dl\u00e1nku.<\/p>\n<p>Shrneme to, my\u0161lenka je ta, \u017ee p\u0159i tomto p\u0159\u00edstupu pracujete pouze s Markdown souborem a pou\u017e\u00edv\u00e1te Git pro organizaci spolupr\u00e1ce a kontrolu verz\u00ed, a pouze v p\u0159\u00edpad\u011b pot\u0159eby (nap\u0159\u00edklad abyste poskytli dokumentaci klientovi) automaticky vytv\u00e1\u0159\u00edte soubor po\u017eadovan\u00e9ho form\u00e1tu (nap\u0159\u00edklad MS Word). <\/p>\n<h3>Proces<\/h3>\n<p>\nMysl\u00edm, \u017ee pro mnoh\u00e9 je v\u00fd\u0161e uveden\u00fd vzorec dostate\u010dn\u00fd, aby pochopili, jak nyn\u00ed m\u016f\u017ee b\u00fdt organizov\u00e1n proces pr\u00e1ce s dokumentac\u00ed. Ale v\u011bt\u0161inou se orientuji na s\u00ed\u0165ov\u00e9 in\u017een\u00fdry, tak\u017ee v obecn\u00fdch obrysech uk\u00e1\u017eu, jak nyn\u00ed m\u016f\u017ee vypadat proces pr\u00e1ce a \u010d\u00edm se li\u0161\u00ed od p\u0159\u00edstupu s \u00fapravou soubor\u016f MS Word.<\/p>\n<p>Pro jasnost zvol\u00edme jako platformu pro pr\u00e1ci s Gitem GitHub. Pak byste m\u011bli vytvo\u0159it repozit\u00e1\u0159 a v master v\u011btvi um\u00edstit Markdown soubor nebo soubory, se kter\u00fdmi pl\u00e1nujete pracovat. <\/p>\n<p>Prozkoum\u00e1me jednoduch\u00fd proces zalo\u017een\u00fd na 'github flow'. Jeho popis lze naj\u00edt jak na internetu, tak na <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/346066\/\">habru<\/a><\/noindex>.<\/p>\n<p>P\u0159edpokl\u00e1dejme, \u017ee na dokumentaci pracuj\u00ed \u010dty\u0159i lid\u00e9 a vy jste jedn\u00edm z nich. Pot\u00e9 jsou vytvo\u0159eny \u010dty\u0159i dal\u0161\u00ed v\u011btve (branch), nap\u0159\u00edklad s jm\u00e9ny t\u011bchto lid\u00ed. Ka\u017ed\u00fd pracuje lok\u00e1ln\u011b, ve sv\u00e9 v\u011btvi a prov\u00e1d\u00ed zm\u011bny se v\u0161emi pot\u0159ebn\u00fdmi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/joshnh\/Git-Commands\">git p\u0159\u00edkazy<\/a><\/noindex>. <\/p>\n<p>Dokon\u010den\u00edm ur\u010dit\u00e9ho \u00faseku pr\u00e1ce vytv\u00e1\u0159\u00edte pull request, \u010d\u00edm\u017e iniciujete diskuzi o va\u0161ich zm\u011bn\u00e1ch. B\u011bhem t\u00e9to diskuze se m\u016f\u017ee uk\u00e1zat, \u017ee mus\u00edte p\u0159idat nebo zm\u011bnit n\u011bco dal\u0161\u00edho. V takov\u00e9m p\u0159\u00edpad\u011b provedete pot\u0159ebn\u00e9 \u00fapravy a vytvo\u0159\u00edte dal\u0161\u00ed pull request. Nakonec jsou va\u0161e zm\u011bny p\u0159ijaty a slou\u010deny (merge) s master v\u011btv\u00ed (nebo odm\u00edtnuty).<\/p>\n<p>Samoz\u0159ejm\u011b, toto je pom\u011brn\u011b obecn\u00fd popis. Navrhuji kontaktovat va\u0161e v\u00fdvoj\u00e1\u0159e nebo naj\u00edt znal\u00e9 osoby pro podrobn\u011bj\u0161\u00ed proces. R\u00e1d bych ale podotkl, \u017ee prahov\u00e1 \u00farove\u0148 pro vstup do Gitu je velmi n\u00edzk\u00e1. Neznamen\u00e1 to, \u017ee protokol je jednoduch\u00fd, ale m\u016f\u017eete za\u010d\u00edt s n\u011b\u010d\u00edm jednoduch\u00fdm. Pokud v\u016fbec nic nev\u00edte, domn\u00edv\u00e1m se, \u017ee po n\u011bkolika hodin\u00e1ch nebo mo\u017en\u00e1 dnech studia a instalace m\u016f\u017eete za\u010d\u00edt jej pou\u017e\u00edvat.<\/p>\n<p>Jak\u00fd je tedy p\u0159\u00ednos tohoto p\u0159\u00edstupu ve srovn\u00e1n\u00ed nap\u0159\u00edklad s procesem popsan\u00fdm v\u00fd\u0161e?<\/p>\n<p>Ve skute\u010dnosti jsou procesy docela podobn\u00e9, jen jste nahradili<\/p>\n<p>kop\u00edrov\u00e1n\u00ed souboru -&gt; vytvo\u0159en\u00ed v\u011btve (branch)<br \/>\nkop\u00edrov\u00e1n\u00ed textu do kone\u010dn\u00e9ho souboru -&gt; slou\u010den\u00ed (merge)<br \/>\nkop\u00edrov\u00e1n\u00ed posledn\u00edch zm\u011bn k sob\u011b -&gt; git pull\/fetch<br \/>\ndiskuze v korespondenci -&gt; pull requests<br \/>\ntrack mode -&gt; git diff<br \/>\nposledn\u00ed schv\u00e1len\u00e1 verze -&gt; master v\u011btev<br \/>\nz\u00e1loha (kop\u00edrov\u00e1n\u00ed na vzd\u00e1len\u00fd server) -&gt; git push<br \/>\n\u2026<\/p>\n<p>T\u00edmto zp\u016fsobem jste automatizovali v\u0161e, co jste d\u0159\u00edve museli d\u011blat ru\u010dn\u011b.<\/p>\n<p>Na vy\u0161\u0161\u00ed \u00farovni v\u00e1m to umo\u017e\u0148uje <\/p>\n<ul>\n<li>vytvo\u0159it jasn\u00fd, jednoduch\u00fd a kontrolovateln\u00fd proces zm\u011bn dokumentace<\/li>\n<li>Proto\u017ee kone\u010dn\u00fd dokument (v na\u0161em p\u0159\u00edklad\u011b MS Word) vytv\u00e1\u0159\u00edte automaticky, sni\u017euje to pravd\u011bpodobnost chyb spojen\u00fdch s form\u00e1tov\u00e1n\u00edm.<\/li>\n<\/ul>\n<p><\/p>\n<blockquote><p><b>Pozn\u00e1mka<\/b><\/p>\n<p>S ohledem na v\u00fd\u0161e uveden\u00e9 je mysl\u00edm jasn\u00e9, \u017ee i kdy\u017e pracujete na dokumentaci s\u00e1m, m\u016f\u017ee v\u00e1m pou\u017e\u00edv\u00e1n\u00ed Gitu v\u00fdrazn\u011b usnadnit pr\u00e1ci.<\/p><\/blockquote>\n<p>\nTo v\u0161e zvy\u0161uje kvalitu dokumentace a sni\u017euje \u010das jej\u00ed tvorby. A je\u0161t\u011b mal\u00fd bonus \u2013 nau\u010d\u00edte se Git, co\u017e v\u00e1m pom\u016f\u017ee p\u0159i automatizaci va\u0161\u00ed s\u00edt\u011b \ud83d\ude42.<\/p>\n<h3>Jak p\u0159ej\u00edt na nov\u00fd proces?<\/h3>\n<p>\nNa za\u010d\u00e1tku \u010dl\u00e1nku jsem napsal, \u017ee ji\u017e z\u00edtra m\u016f\u017eete za\u010d\u00edt pracovat nov\u00fdm zp\u016fsobem. Jak p\u0159en\u00e9st svou pr\u00e1ci do nov\u00e9ho sm\u011bru?<\/p>\n<p>Zde je postup krok\u016f, kter\u00e9 pravd\u011bpodobn\u011b budete muset prov\u00e9st:<\/p>\n<ul>\n<li>pokud je v\u00e1\u0161 dokument velmi rozs\u00e1hl\u00fd, rozd\u011blte ho na \u010d\u00e1sti.<\/li>\n<li>P\u0159ev\u00e1d\u011bjte ka\u017edou \u010d\u00e1st do Markdownu (nap\u0159\u00edklad pomoc\u00ed Pandoc)<\/li>\n<li>Nainstalujte si jeden z editor\u016f Markdown (j\u00e1 pou\u017e\u00edv\u00e1m <noindex><a rel=\"nofollow\" href=\"https:\/\/typora.io\">Typora<\/a><\/noindex>)<\/li>\n<li>pravd\u011bpodobn\u011b budete muset upravit form\u00e1tov\u00e1n\u00ed vytvo\u0159en\u00fdch Markdown dokument\u016f<\/li>\n<li>za\u010dn\u011bte aplikovat proces popsan\u00fd v p\u0159edchoz\u00ed kapitole<\/li>\n<li>sou\u010dasn\u011b za\u010dn\u011bte upravovat konverzn\u00ed skript podle sv\u00e9 \u00falohy (nebo vytvo\u0159te n\u011bco vlastn\u00edho) <\/li>\n<\/ul>\n<p>\nNemus\u00edte \u010dekat, dokud nevytvo\u0159\u00edte a perfektn\u011b dolad\u00edte mechanismus konverze Markdown -&gt; po\u017eadovan\u00fd v\u00fdstupn\u00ed form\u00e1t dokumentu. I kdy\u017e se v\u00e1m nepoda\u0159\u00ed rychle pln\u011b automatizovat proces p\u0159evodu va\u0161ich Markdown soubor\u016f, st\u00e1le to m\u016f\u017eete ud\u011blat v n\u011bjak\u00e9 podob\u011b pomoc\u00ed Pandoc a n\u00e1sledn\u011b doladit v\u00fdstup ru\u010dn\u011b. Obvykle to nemus\u00edte d\u011blat \u010dasto, pouze na konci ur\u010dit\u00fdch f\u00e1z\u00ed, a tato ru\u010dn\u00ed pr\u00e1ce, i kdy\u017e je nep\u0159\u00edjemn\u00e1, je podle m\u011b v f\u00e1zi lad\u011bn\u00ed zcela p\u0159ijateln\u00e1 a nem\u011bla by v\u00fdrazn\u011b \u201ezdr\u017eovat\u201c proces. <\/p>\n<p>V\u0161echno ostatn\u00ed (Markdown, Git, Pandoc, Typora) je ji\u017e p\u0159ipraveno a nevy\u017eaduje zvl\u00e1\u0161tn\u00ed \u00fasil\u00ed nebo \u010das, abyste s t\u00edm mohli za\u010d\u00edt pracovat.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/456410\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043d\u043e \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043d\u0435\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043b\u044c\u0432\u0438\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c \u0438 \u0434\u0430\u0436\u0435 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0430, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0438 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0432\u044b\u0433\u043e\u0434\u044b. \u041d\u043e \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u044d\u0442\u0430 \u0442\u0435\u043c\u0430 \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35419","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043d\u043e \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043d\u0435\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/ispolzujte-git-pri-dokumentirovanii\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 GIT \u043f\u0440\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043d\u043e \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043d\u0435\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/ispolzujte-git-pri-dokumentirovanii\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:04:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:04:14+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Pou\u017e\u00edvejte GIT p\u0159i dokumentaci | ProHoster","description":"N\u011bkdy m\u016f\u017ee b\u00fdt kritick\u00fd nejen samotn\u00fd dokument, ale i proces pr\u00e1ce na n\u011bm.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/ispolzujte-git-pri-dokumentirovanii","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 GIT \u043f\u0440\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 | ProHoster","og:description":"\u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043d\u043e \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043d\u0435\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u043c.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/ispolzujte-git-pri-dokumentirovanii","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:04:14+00:00","article:modified_time":"2019-10-31T19:04:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35419","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 23:10:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:03:21","updated":"2026-01-21 23:10:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=35419"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35419\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=35419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=35419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=35419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}