{"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\/hu\/blog\/administrirovanie\/ispolzujte-git-pri-dokumentirovanii","title":{"rendered":"Haszn\u00e1ljon GIT-et a dokument\u00e1ci\u00f3 k\u00e9sz\u00edt\u00e9sekor","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>N\u00e9ha nemcsak a dokument\u00e1ci\u00f3 maga, hanem a k\u00e9sz\u00edt\u00e9se is kritikus lehet. P\u00e9ld\u00e1ul, bizonyos projektek eset\u00e9ben a munka jelent\u0151s r\u00e9sze a dokument\u00e1ci\u00f3 el\u0151k\u00e9sz\u00edt\u00e9s\u00e9vel kapcsolatos, \u00e9s a hib\u00e1s folyamatok hib\u00e1khoz, s\u0151t, inform\u00e1ci\u00f3veszt\u00e9shez vezethetnek, ami id\u0151- \u00e9s haszonvesztes\u00e9get is okozhat. De m\u00e9g ha ez a t\u00e9ma nem is a munka k\u00f6z\u00e9ppontj\u00e1ban \u00e1ll, a megfelel\u0151 folyamat jav\u00edthatja a dokumentum min\u0151s\u00e9g\u00e9t, \u00e9s id\u0151t takar\u00edthat meg.<\/p>\n<p>A bemutatott megk\u00f6zel\u00edt\u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/md2docx\">konkr\u00e9t megval\u00f3s\u00edt\u00e1s\u00e1val<\/a><\/noindex>, alacsony bel\u00e9p\u00e9si k\u00fcsz\u00f6b\u00f6t mutat. Technikai \u00e9rtelemben m\u00e1r holnap elkezdheti az \u00faj m\u00f3dszer alkalmaz\u00e1s\u00e1t. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>L\u00e9pj\u00fcnk \u00e1t a kit\u0171z\u00f6tt feladatra: \u00edrjunk egy XDP mechanizmust SYN cookie-kkal.<\/h3>\n<p>\nSz\u00e1m\u00e1ra sz\u00fcks\u00e9ges egy dokumentum vagy dokumentumok halmaz\u00e1nak l\u00e9trehoz\u00e1sa. Lehet ez projekt dokument\u00e1ci\u00f3 vagy a h\u00e1l\u00f3zat\u00e1nak napl\u00f3z\u00e1sa, vagy valami egyszer\u0171bb, p\u00e9ld\u00e1ul a c\u00e9g vagy az oszt\u00e1ly folyamatait kell le\u00edrnia. R\u00f6viden, b\u00e1rmilyen dokumentumr\u00f3l vagy dokumentumhalmazr\u00f3l van sz\u00f3, amely tartalmaz sz\u00f6veget, k\u00e9peket, t\u00e1bl\u00e1zatokat... Nehez\u00edtj\u00fck a feladatot azzal, hogy <\/p>\n<ol>\n<li>ez a munka k\u00f6z\u00f6s er\u0151fesz\u00edt\u00e9st ig\u00e9nyel, csoportok, vagy t\u00f6bb csoport alkalmazottainak egy\u00fcttm\u0171k\u00f6d\u00e9s\u00e9t<\/li>\n<li>az eredm\u00e9ny\u00fcl kapott dokumentumnak egy meghat\u00e1rozott form\u00e1tumban kell lennie, a v\u00e1llalati arculati attrib\u00fatumokkal, egy meghat\u00e1rozott sablon alapj\u00e1n k\u00e9sz\u00fclve. Hat\u00e1rozotts\u00e1g kedv\u00e9\u00e9rt azt fogjuk felt\u00e9telezni, hogy ez egy MS Word (.docx) dokumentum<\/li>\n<\/ol>\n<p>\n10 \u00e9ve a megk\u00f6zel\u00edt\u00e9s egy\u00e9rtelm\u0171 lenne: l\u00e9trehozunk egy vagy t\u00f6bb MS Word dokumentumot, \u00e9s valamilyen m\u00f3don szervezn\u00e9nk a m\u00f3dos\u00edt\u00e1sok folyamat\u00e1t. <\/p>\n<p>Ez a megk\u00f6zel\u00edt\u00e9s tov\u00e1bbra is \u00e9rv\u00e9nyben van. A nagy integr\u00e1torok is haszn\u00e1lj\u00e1k projekt dokument\u00e1ci\u00f3 k\u00e9sz\u00edt\u00e9sekor. De intuit\u00edv m\u00f3don nyilv\u00e1nval\u00f3, hogy ha val\u00f3ban intenz\u00edven dolgozik a dokumentumon, sok m\u00f3dos\u00edt\u00e1ssal \u00e9s megbesz\u00e9l\u00e9ssel, hossz\u00fa id\u0151n kereszt\u00fcl, ez a megk\u00f6zel\u00edt\u00e9s nem t\u00fal k\u00e9nyelmes.<\/p>\n<blockquote><p><b>t\u00e1mad\u00e1sra<\/b><\/p>\n<p>\u00c9n is er\u0151teljesen tapasztaltam ezt a probl\u00e9m\u00e1t, amikor egy nagy integr\u00e1torn\u00e1l dolgoztam. A projekt dokument\u00e1ci\u00f3 m\u00f3dos\u00edt\u00e1s\u00e1nak folyamata a k\u00f6vetkez\u0151 volt:<\/p>\n<ol>\n<li>a m\u00e9rn\u00f6k let\u00f6lti az utols\u00f3 verzi\u00f3j\u00fa MS Word (.docx) dokumentumot<\/li>\n<li>megv\u00e1ltoztatja a nevet<\/li>\n<li>v\u00e1ltoztat\u00e1sokat hajt v\u00e9gre az \u00e1ttekint\u00e9si m\u00f3dban<\/li>\n<li>a m\u00f3dos\u00edtott dokumentumot elk\u00fcldi az \u00e9p\u00edt\u00e9sznek<\/li>\n<li>szint\u00e9n elk\u00fcldi az \u00f6sszes m\u00f3dos\u00edt\u00e1st a megjegyz\u00e9sekkel<\/li>\n<li>az \u00e9p\u00edt\u00e9sz elemzi a v\u00e1ltoztat\u00e1sokat<\/li>\n<li>ha minden rendben van, \u00e1tm\u00e1solja a m\u00f3dos\u00edt\u00e1sokat az utols\u00f3 verzi\u00f3 f\u00e1jlba, megv\u00e1ltoztatja a verzi\u00f3t, \u00e9s k\u00f6zz\u00e9teszi a k\u00f6z\u00f6s er\u0151forr\u00e1son<\/li>\n<li>Ha b\u00e1rmilyen \u00e9szrev\u00e9tel mer\u00fcl fel, akkor megbesz\u00e9l\u00e9s (email vagy tal\u00e1lkoz\u00f3k) kezdem\u00e9nyez\u0151dik.<\/li>\n<li>Konszenzus sz\u00fcletik.<\/li>\n<li>Ezut\u00e1n a 3-9. pontok k\u00f6vetkeznek.<\/li>\n<\/ol>\n<p>\nM\u00edg a munkafolyamat nem volt intenz\u00edv, valahogy m\u0171k\u00f6d\u00f6tt. De egy id\u0151 ut\u00e1n ez a folyamat a projekt sz\u0171k keresztmetszet\u00e9v\u00e9 v\u00e1lt, ami probl\u00e9m\u00e1khoz vezetett. Az a helyzet, hogy minden rosszul megy, amint a v\u00e1ltoztat\u00e1sok gyakran \u00e9s egyszerre t\u00f6bb csapat \u00e1ltal t\u00f6rt\u00e9nnek.<\/p>\n<p>Amikor \u00e1t\u00e1lltunk az el\u0151zetes tesztel\u00e9si szakaszra, k\u00fcl\u00f6nb\u00f6z\u0151 probl\u00e9m\u00e1k kezdtek megjelenni, \u00e9s b\u00e1r apr\u00f3s\u00e1gokr\u00f3l volt sz\u00f3, a dokument\u00e1ci\u00f3t gyakran kellett m\u00f3dos\u00edtani - n\u00e9gy k\u00fcl\u00f6nb\u00f6z\u0151 csapat, naponta, szinte egyszerre, megbesz\u00e9l\u00e9sekkel. Mindezek a v\u00e1ltoz\u00e1sok egy m\u00e9rn\u00f6k - \u00e9p\u00edt\u00e9sz - \u00e1ltal \u00e9rkeztek. A projekt tervf\u00e1jl \u00f3ri\u00e1si volt, \u00e9s ennek k\u00f6vetkezt\u00e9ben az \u00e9p\u00edt\u00e9sz a sok m\u00e1sol\u00e1ssal \u00e9s szerkeszt\u00e9ssel j\u00e1r\u00f3 rutinfeladatokkal volt elfoglalva, sok hib\u00e1t v\u00e9tett, mindent \u00fajra kellett ellen\u0151rizni, \u00fajrak\u00fcldeni, \u00e9s \u00f6sszess\u00e9g\u00e9ben ez k\u00f6zel \u00e1llt a k\u00e1oszhoz. <\/p>\n<p>Ebben az esetben a dokumentummal val\u00f3 munka MS Word megk\u00f6zel\u00edt\u00e9se nagy neh\u00e9zs\u00e9geket okozott \u00e9s probl\u00e9m\u00e1kat teremtett.<\/p><\/blockquote>\n<p><\/p>\n<h3>Git, Markdown<\/h3>\n<p>\nA fent eml\u00edtett probl\u00e9m\u00e1val szembes\u00fclve elkezdtem kutatni ezt a k\u00e9rd\u00e9st.<br \/>\nL\u00e1ttam, hogy egyre n\u00e9pszer\u0171bb\u00e9 v\u00e1lik a haszn\u00e1lata <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Markdown\">Markdown<\/a><\/noindex> egy\u00fctt <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Git\">Kont\u00e9neriz\u00e1l\u00e1s<\/a><\/noindex> dokumentumok l\u00e9trehoz\u00e1sakor.<\/p>\n<p>A Git egy fejleszt\u0151eszk\u00f6z. De mi\u00e9rt ne haszn\u00e1lhatn\u00e1nk a dokument\u00e1l\u00e1si folyamatra is? Ebben az esetben a t\u00f6bbfelhaszn\u00e1l\u00f3s munka k\u00e9rd\u00e9se megold\u00f3dik. De ahhoz, hogy a Git \u00f6sszes lehet\u0151s\u00e9g\u00e9t teljes m\u00e9rt\u00e9kben kihaszn\u00e1lhassuk, sz\u00f6veges dokumentumform\u00e1tumra van sz\u00fcks\u00e9g\u00fcnk, \u00e9s m\u00e1s eszk\u00f6zt kell keresn\u00fcnk, amely nem MS Word, \u00e9s ezekre a c\u00e9lokra a Markdown kiv\u00e1l\u00f3an alkalmas. <\/p>\n<p>A Markdown egy egyszer\u0171 sz\u00f6veges jel\u00f6l\u0151nyelv. Sz\u00e9p form\u00e1z\u00e1s\u00fa sz\u00f6vegek l\u00e9trehoz\u00e1s\u00e1ra szolg\u00e1l sima TXT f\u00e1jlokban. Ha Markdown form\u00e1tumban k\u00e9sz\u00edtj\u00fck el a dokumentumainkat, akkor a Markdown - Git \u00f6sszekapcsol\u00e1sa term\u00e9szetesnek t\u0171nik.<\/p>\n<p>Mindez rendben van, \u00e9s itt ak\u00e1r meg is \u00e1llhatn\u00e1nk, ha nem lenne a m\u00e1sodik felt\u00e9tel\u00fcnk: \"a kimenetnek egy bizonyos form\u00e1tumban kell lennie, v\u00e1llalati st\u00edlusjegyekkel, egy meghat\u00e1rozott sablon alapj\u00e1n\" (el\u0151re meg\u00e1llapodtunk abban, hogy ez MS Word lesz). Teh\u00e1t, ha \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy Markdown-t haszn\u00e1lunk, akkor valahogy \u00e1t kell alak\u00edtanunk ezt a f\u00e1jlt a k\u00edv\u00e1nt .docx form\u00e1tumba.<\/p>\n<p>Vannak programok, amelyek k\u00fcl\u00f6nb\u00f6z\u0151 form\u00e1tumok k\u00f6z\u00f6tt konvert\u00e1lnak, p\u00e9ld\u00e1ul, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Pandoc\">Pandoc<\/a><\/noindex>.<br \/>\nEzzel a programmal Markdown f\u00e1jlt konvert\u00e1lhat .docx form\u00e1tumba.<br \/>\nDe m\u00e9gis, \u00e9rdemes meg\u00e9rteni, hogy egyr\u00e9szt nem minden, ami Markdown-ban van, lesz konvert\u00e1lva MS Word-be, m\u00e1sr\u00e9szt MS Word egy eg\u00e9sz orsz\u00e1g a viszonylag egyszer\u0171, de m\u00e9gis kisv\u00e1rosk\u00e9nt m\u0171k\u00f6d\u0151 Markdownhoz k\u00e9pest. Rengeteg olyan dolog van Word-ben, ami sehol sincs Markdown form\u00e1tumban. Nem lehet csak \u00fagy, egyes kulcsokkal Pandoc seg\u00edts\u00e9g\u00e9vel \u00e1tkonvert\u00e1lni a Markdown form\u00e1tumot a k\u00edv\u00e1nt MS Word kin\u00e9zetre. Sz\u00f3val \u00e1ltal\u00e1ban a konvert\u00e1l\u00e1s ut\u00e1n k\u00e9zzel kell \"finom\u00edtani\" a kapott .docx dokumentumot, ami megintcsak id\u0151ig\u00e9nyes lehet \u00e9s hib\u00e1khoz vezethet.<\/p>\n<p>Ha tudn\u00e1nk \u00edrni egy szkriptet, ami automatikusan \"befejezn\u00e9\" azt, amivel Pandoc nem boldogult \u2014 ez lenne az ide\u00e1lis megold\u00e1s.<\/p>\n<p>Tekintettel arra, hogy az MS Word \u00e9s Markdown funkci\u00f3i nem azonosak, ezt a feladatot \u00e1ltal\u00e1noss\u00e1gban v\u00e9ve lehetetlennek gondolom, de lehet-e ezt megoldani konkr\u00e9t helyzetekhez, konkr\u00e9t k\u00f6vetelm\u00e9nyekhez? Tapasztalatom alapj\u00e1n igen, lehet, \u00e9s val\u00f3sz\u00edn\u0171leg sok, vagy tal\u00e1n a legt\u00f6bb helyzetben lehets\u00e9ges. <\/p>\n<h3>Egyedi feladat megold\u00e1sa<\/h3>\n<p>\nTeh\u00e1t az \u00e9n esetemben, miut\u00e1n a f\u00e1jlt Pandoc seg\u00edts\u00e9g\u00e9vel konvert\u00e1ltam, manu\u00e1lisan kellett tov\u00e1bbi feldolgoz\u00e1st v\u00e9geznem, m\u00e9gpedig<\/p>\n<ul>\n<li>c\u00edmsorok (caption) automatikus sz\u00e1moz\u00e1s\u00e1val ell\u00e1tott mez\u0151ket kell hozz\u00e1adni Word-ben a t\u00e1bl\u00e1zatoknak \u00e9s k\u00e9peknek<\/li>\n<li>a t\u00e1bl\u00e1zatok st\u00edlus\u00e1t m\u00f3dos\u00edtani <\/li>\n<\/ul>\n<p>\nNem tal\u00e1ltam, hogyan lehet ezt megtenni a standard (Pandoc) vagy ismert eszk\u00f6z\u00f6kkel. Ez\u00e9rt egy Python szkriptet alkalmaztam a <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mhammond\/pywin32\">pywin32<\/a><\/noindex> csomaggal. Ennek eredm\u00e9nyek\u00e9nt teljes automatiz\u00e1l\u00e1st kaptam. Most m\u00e1r egy parancs seg\u00edts\u00e9g\u00e9vel tudom konvert\u00e1lni a Markdown f\u00e1jlomat a k\u00edv\u00e1nt MS Word dokumentum form\u00e1tumra. <\/p>\n<p>N\u00e9zze meg a r\u00e9szleteket <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/md2docx\">itt<\/a><\/noindex>.<\/p>\n<blockquote><p><b>Megjegyz\u00e9s<\/b><\/p>\n<p>Ebben a p\u00e9ld\u00e1ban term\u00e9szetesen egy absztrakt Markdown f\u00e1jlt alak\u00edtok \u00e1t, de pontosan ugyanazt a megk\u00f6zel\u00edt\u00e9st alkalmaztam egy '\u00e9les' dokumentumra is, \u00e9s eredm\u00e9nyk\u00e9nt gyakorlatilag pontosan ugyanazt a MS Word dokumentumot kaptam, mint amit kor\u00e1bban manu\u00e1lis form\u00e1z\u00e1ssal k\u00e9sz\u00edtett\u00fcnk. <\/p><\/blockquote>\n<p>\n\u00d6sszess\u00e9g\u00e9ben a pywin32 seg\u00edts\u00e9g\u00e9vel szinte teljes ir\u00e1ny\u00edt\u00e1st szerz\u00fcnk a MS Word dokumentum felett, ami lehet\u0151v\u00e9 teszi, hogy \u00e1tform\u00e1ljuk azt, \u00e9s a v\u00e1llalati szabv\u00e1nyoknak megfelel\u0151 megjelen\u00e9st \u00e9rj\u00fcnk el. Term\u00e9szetesen ezek a c\u00e9lok m\u00e1s eszk\u00f6z\u00f6kkel, p\u00e9ld\u00e1ul VBA makr\u00f3kkal is el\u00e9rhet\u0151k lettek volna, de sz\u00e1momra k\u00e9nyelmesebb volt a python haszn\u00e1lata.<\/p>\n<p>A megk\u00f6zel\u00edt\u00e9s r\u00f6vid k\u00e9plete:<\/p>\n<pre><code class=\"plaintext\">Markdown + Git -- (valami) --&gt; MS Word<\/code><\/pre>\n<p>\nNem annyira fontos, hogy mi a 'valami'. Az \u00e9n esetemben ez a Pandoc \u00e9s a python a pywin32-vel volt. Lehet, hogy neked m\u00e1s preferenci\u00e1id vannak, de fontos, hogy ez lehets\u00e9ges. \u00c9s ez a legf\u0151bb \u00fczenete ennek a cikknek.<\/p>\n<p>\u00d6sszefoglalva, az \u00f6tlet az, hogy ezzel a megk\u00f6zel\u00edt\u00e9ssel csak a Markdown f\u00e1jllal dolgozol, \u00e9s a Git seg\u00edts\u00e9g\u00e9vel szervezed a k\u00f6z\u00f6s munk\u00e1t \u00e9s a verzi\u00f3kezel\u00e9st, \u00e9s csak sz\u00fcks\u00e9g eset\u00e9n (p\u00e9ld\u00e1ul a dokument\u00e1ci\u00f3 \u00fcgyf\u00e9lnek val\u00f3 \u00e1tad\u00e1sa \u00e9rdek\u00e9ben) automatikusan l\u00e9trehozol egy sz\u00fcks\u00e9ges form\u00e1tum\u00fa f\u00e1jlt (p\u00e9ld\u00e1ul MS Word-t). <\/p>\n<h3>Folyamat<\/h3>\n<p>\nAzt hiszem, sokak sz\u00e1m\u00e1ra a fenti k\u00e9plet elegend\u0151 ahhoz, hogy meg\u00e9rts\u00e9k, hogyan lehet most a dokument\u00e1ci\u00f3val dolgoz\u00e1st megszervezni. De az\u00e9rt \u00e1ltal\u00e1ban a h\u00e1l\u00f3zati m\u00e9rn\u00f6k\u00f6kre \u00f6sszpontos\u00edtok, ez\u00e9rt v\u00e1zoltan bemutatom, hogyan is n\u00e9zhet ki most a munka folyamata, \u00e9s miben k\u00fcl\u00f6nb\u00f6zik a MS Word f\u00e1jlok szerkeszt\u00e9s\u00e9vel val\u00f3 megk\u00f6zel\u00edt\u00e9st\u0151l.<\/p>\n<p>A pontosabb \u00e9rthet\u0151s\u00e9g kedv\u00e9\u00e9rt a Git munk\u00e1hoz a GitHub platformot v\u00e1lasztjuk. Ez\u00e9rt l\u00e9tre kell hoznod egy t\u00e1rol\u00f3t \u00e9s a master \u00e1gon elhelyezni a Markdown f\u00e1jlt vagy f\u00e1jlokat, amelyekkel dolgozni tervezel. <\/p>\n<p>Egy egyszer\u0171 folyamatot fogunk megvizsg\u00e1lni, amely a 'github flow' alapjain nyugszik. Ennek le\u00edr\u00e1s\u00e1t megtal\u00e1lhatod, ak\u00e1r az interneten, ak\u00e1r a <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/346066\/\">Habr\u00e1n<\/a><\/noindex>.<\/p>\n<p>Tegy\u00fck fel, hogy n\u00e9gy ember dolgozik a dokument\u00e1ci\u00f3n, \u00e9s te az egyik k\u00f6z\u00fcl\u00fck vagy. Ekkor n\u00e9gy tov\u00e1bbi \u00e1gat (branch) kell l\u00e9trehozni, p\u00e9ld\u00e1ul ezeknek az embereknek a neveivel. Mindenki helyben, a saj\u00e1t \u00e1g\u00e1n dolgozik, \u00e9s minden sz\u00fcks\u00e9ges v\u00e1ltoztat\u00e1st elv\u00e9gez a <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/joshnh\/Git-Commands\">git parancsokkal<\/a><\/noindex>. <\/p>\n<p>A munka befejez\u00e9s\u00e9vel pull request-et hoz l\u00e9tre, ezzel elind\u00edtva a m\u00f3dos\u00edt\u00e1sai megbesz\u00e9l\u00e9s\u00e9t. Lehet, hogy a besz\u00e9lget\u00e9s sor\u00e1n kider\u00fcl, hogy valami \u00fajabbat kell hozz\u00e1adnia vagy m\u00f3dos\u00edtania. Ebben az esetben elv\u00e9gzi a sz\u00fcks\u00e9ges v\u00e1ltoztat\u00e1sokat, \u00e9s l\u00e9trehozza a tov\u00e1bbi pull request-et. V\u00e9g\u00fcl a m\u00f3dos\u00edt\u00e1sait elfogadj\u00e1k \u00e9s egyes\u00edtik (merge) a master \u00e1ggal (vagy elutas\u00edtj\u00e1k).<\/p>\n<p>Term\u00e9szetesen ez egy meglehet\u0151sen \u00e1ltal\u00e1nos le\u00edr\u00e1s. Javaslom, hogy a r\u00e9szletes folyamat kidolgoz\u00e1sa \u00e9rdek\u00e9ben forduljon a fejleszt\u0151i csapat\u00e1hoz, vagy keressen meg tapasztalt szakembereket. De szeretn\u00e9m megjegyezni, hogy a Git haszn\u00e1lat\u00e1nak k\u00fcsz\u00f6b\u00e9rt\u00e9ke meglehet\u0151sen alacsony. Ez nem jelenti azt, hogy a protokoll egyszer\u0171, de a legegyszer\u0171bb feladatokat k\u00f6nnyen el tudja kezdeni. Ha teljesen j\u00e1ratlan a ter\u00fcleten, \u00fagy gondolom, n\u00e9h\u00e1ny \u00f3ra vagy ak\u00e1r nap elt\u00f6lt\u00e9s\u00e9vel a tanul\u00e1sra \u00e9s telep\u00edt\u00e9sre, m\u00e1r haszn\u00e1lhatja is.<\/p>\n<p>Milyen haszna van ennek a megk\u00f6zel\u00edt\u00e9snek a folyamat p\u00e9ld\u00e1j\u00e1val \u00f6sszehasonl\u00edtva?<\/p>\n<p>Val\u00f3j\u00e1ban a folyamatok meglehet\u0151sen hasonl\u00f3ak, csak kicser\u00e9lte a<\/p>\n<p>f\u00e1jl m\u00e1sol\u00e1sa -&gt; \u00e1g (branch) l\u00e9trehoz\u00e1sa<br \/>\nsz\u00f6veg \u00e1tm\u00e1sol\u00e1sa a v\u00e9gs\u0151 f\u00e1jlba -&gt; egyes\u00edt\u00e9s (merge)<br \/>\na legut\u00f3bbi m\u00f3dos\u00edt\u00e1sok m\u00e1sol\u00e1sa -&gt; git pull\/fetch<br \/>\nmegbesz\u00e9l\u00e9s a levelez\u00e9sben -&gt; pull requestek<br \/>\nnyomk\u00f6vet\u0151 m\u00f3d -&gt; git diff<br \/>\na legutols\u00f3 j\u00f3v\u00e1hagyott verzi\u00f3 -&gt; master \u00e1g<br \/>\nbiztons\u00e1gi ment\u00e9s (m\u00e1sol\u00e1s t\u00e1voli szerverre) -&gt; git push<br \/>\n\u2026<\/p>\n<p>\u00cdgy automatiz\u00e1lta az \u00f6sszes olyan feladatot, amit eddig k\u00e9zi \u00faton kellett elv\u00e9geznie.<\/p>\n<p>Magasabb szinten ez lehet\u0151v\u00e9 teszi, hogy <\/p>\n<ul>\n<li>egy vil\u00e1gos, egyszer\u0171 \u00e9s kontroll\u00e1lt dokument\u00e1ci\u00f3s v\u00e1ltoz\u00e1si folyamatot hozzon l\u00e9tre<\/li>\n<li>mivel a v\u00e9gs\u0151 dokumentumot (p\u00e9ld\u00e1nkban MS Word) automatikusan hozza l\u00e9tre, ez cs\u00f6kkenti a form\u00e1z\u00e1ssal kapcsolatos hib\u00e1k lehet\u0151s\u00e9g\u00e9t.<\/li>\n<\/ul>\n<p><\/p>\n<blockquote><p><b>Megjegyz\u00e9s<\/b><\/p>\n<p>A fenti megjegyz\u00e9sek alapj\u00e1n \u00fagy gondolom, nyilv\u00e1nval\u00f3, hogy m\u00e9g ha egyed\u00fcl dolgozik is a dokument\u00e1ci\u00f3n, a Git haszn\u00e1lata jelent\u0151sen megk\u00f6nny\u00edtheti a munk\u00e1j\u00e1t.<\/p><\/blockquote>\n<p>\nEz mind n\u00f6veli a dokument\u00e1ci\u00f3 min\u0151s\u00e9g\u00e9t \u00e9s cs\u00f6kkenti az elk\u00e9sz\u00edt\u00e9si id\u0151t. \u00c9s egy kis b\u00f3nuszk\u00e9nt \u2014 meg fogja tanulni a Git-et, ami seg\u00edthet az h\u00e1l\u00f3zata automatiz\u00e1l\u00e1s\u00e1ban \ud83d\ude42<\/p>\n<h3>Hogyan lehet \u00e1t\u00e1llni az \u00faj folyamatra?<\/h3>\n<p>\nA cikk elej\u00e9n \u00edrtam, hogy m\u00e1r holnap el kezdheti az \u00faj m\u00f3dszerek alkalmaz\u00e1s\u00e1t. Hogyan terelheti a munk\u00e1j\u00e1t \u00faj ir\u00e1nyba?<\/p>\n<p>\u00cdme a l\u00e9p\u00e9sek sorrendje, amelyeket val\u00f3sz\u00edn\u0171leg v\u00e9gre kell hajtania:<\/p>\n<ul>\n<li>ha a dokumentuma nagyon nagy, bontsa fel r\u00e9szekre<\/li>\n<li>Konvert\u00e1ljon minden r\u00e9szt Markdownba (p\u00e9ld\u00e1ul a Pandoc seg\u00edts\u00e9g\u00e9vel)<\/li>\n<li>Telep\u00edtse az egyik Markdown-szerkeszt\u0151t (\u00e9n a k\u00f6vetkez\u0151t haszn\u00e1lom: <noindex><a rel=\"nofollow\" href=\"https:\/\/typora.io\">Typora<\/a><\/noindex>)<\/li>\n<li>Val\u00f3sz\u00edn\u0171leg ki kell igaz\u00edtania a l\u00e9trehozott Markdown-dokumentumok form\u00e1z\u00e1s\u00e1t<\/li>\n<li>Kezdje el alkalmazni a folyamatot, amelyet az el\u0151z\u0151 fejezetben le\u00edrtunk<\/li>\n<li>P\u00e1rhuzamosan kezdje el m\u00f3dos\u00edtani a konvert\u00e1l\u00f3 scriptet a saj\u00e1t feladat\u00e1hoz (vagy hozzon l\u00e9tre valami \u00fajat) <\/li>\n<\/ul>\n<p>\nNem sz\u00fcks\u00e9ges megv\u00e1rnia, am\u00edg t\u00f6k\u00e9letesen l\u00e9trehozza \u00e9s debugolja a Markdown -&gt; a k\u00edv\u00e1nt dokumentumt\u00edpusra val\u00f3 konvert\u00e1l\u00e1s mechanizmus\u00e1t. Az a helyzet, hogy m\u00e9g ha nem is siker\u00fcl gyorsan teljesen automatiz\u00e1lni a Markdown f\u00e1jlok \u00e1talak\u00edt\u00e1s\u00e1nak elj\u00e1r\u00e1s\u00e1t, akkor is k\u00e9pes lesz valamilyen form\u00e1ban ezt megtenni a Pandoc seg\u00edts\u00e9g\u00e9vel, \u00e9s k\u00e9s\u0151bb manu\u00e1lisan eljutni a v\u00e9gs\u0151 form\u00e1hoz. \u00c1ltal\u00e1ban erre nincs sz\u00fcks\u00e9ge, mert csak egyes l\u00e9p\u00e9sek v\u00e9g\u00e9n kell megtenni, \u00e9s ez a k\u00e9zi munka, b\u00e1rmennyire is k\u00e9nyelmetlen, v\u00e9lem\u00e9nyem szerint teljesen elfogadhat\u00f3 a debugol\u00e1si szakaszban, \u00e9s nem kell, hogy lass\u00edtsa a folyamatot. <\/p>\n<p>Minden egy\u00e9b (Markdown, Git, Pandoc, Typora) m\u00e1r k\u00e9szen \u00e1ll, \u00e9s nem ig\u00e9nyel k\u00fcl\u00f6n\u00f6sebb er\u0151fesz\u00edt\u00e9st vagy id\u0151t az elindul\u00e1shoz.<br \/>\n<br \/>Forr\u00e1s: <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\/hu\/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=\"hu_HU\" \/>\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\/hu\/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\udd47Haszn\u00e1lja a GIT-et a dokument\u00e1l\u00e1s sor\u00e1n | ProHoster","description":"N\u00e9ha nemcsak a dokument\u00e1ci\u00f3 maga, hanem a rajta v\u00e9gzett munka folyamata is kritikus lehet.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/ispolzujte-git-pri-dokumentirovanii","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/35419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=35419"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/35419\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=35419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=35419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=35419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}