Git

Další program, který budeme později potřebovat, nám později umožní (mimojiné) spolupracovat na vznikajících programech s ostatními. Jmenuje se Git. Pojďme si ho nainstalovat a nastavit.

Instalace je různá pro různé operační systémy, vyber ten svůj.

Linux

Instalaci na Linux zvládneme jedním příkazem:

Fedora, RHEL:

$ sudo dnf install git gitk git-gui nano

Ubuntu, Debian:

$ sudo apt-get install git gitk git-gui nano

U jiných Linuxů předpokládám, že instalovat umíš; nainstaluj si git, gitk, git gui a nano.

Jestli máš nainstalováno, ještě nastav Gitu editor. Pokud nemáš rád/a Vim (nebo nevíš co to je), zadej tento příkaz:

$ git config --global core.editor nano

Dál pokračuj obecným nastavením níže.

Windows

Jdi na stránku git-scm.org, stáhni si Git a nainstaluj si ho. Při instalaci vyber tyto volby:

  • Run Git from the Windows Command Prompt
  • Checkout Windows-style, commit Unix-style line endings

Ostatní možnosti neměň.

Potom Gitu nastav editor. Máš-li otevřenou příkazovou řádku, zavři ji a otevři novou. (Instalace mění systémové nastavení, které se musí načíst znovu.) V nové příkazové řádce zadej:

> git config --global core.editor notepad
> git config --global format.commitMessageColumns 80
> git config --global gui.encoding utf-8

A teď pokračuj v sekci Nastavení níže – macOS přeskoč.

macOS

Spusť v příkazové řádce git. Je-li už nainstalovaný, dozvíš se, jak ho používat (výpis začíná usage). Jinak ho nainstaluj pomocí Homebrew:

$ brew install git

Nainstalovanému Gitu je ještě potřeba nastavit editor (zadej nano, i když sis v rámci instalace editoru nainstaloval/a např. Atom). Dělá se to tímto příkazem:

$ git config --global core.editor nano

Dál pokračuj obecným nastavením:

Nastavení

Na projektu, který bude uložen v Gitu, může spolupracovat více lidí. Aby šlo dohledat, kdo udělal kterou změnu, je Gitu potřeba říct jméno a e-mail. Do příkazové řádky zadej následující příkazy, změň v nich ale jméno a adresu:

$ git config --global user.name "Adéla Novotná"
$ git config --global user.email adela.novotna@example.cz

Můžeš samozřejmě použít i přezdívku, nebo dokonce falešný e-mail, ale v takovém případě bude složitější se zapojit do týmových projektů. Každopádně, jméno i e-mail jdou kdykoli změnit tím, že konfigurační příkazy zadáš znovu.

Pokud se bojíš spamu, neboj: nezačneš ho dostávat víc než při normálním používání e-mailu. Adresa se zobrazí jen lidem, kteří si stáhnou projekt, do kterého jsi přispíval/a. Spammeři se většinou zaměřují na méně technicky zdatné lidi, než jsou uživatelé Gitu. :)

Dále si můžeš nastavit barevné výpisy – pokud si tedy (jako někteří autoři Gitu) nemyslíš, že příkazová řádka má být černobílá:

$ git config --global color.ui true

Spuštění git config nevypíše žádnou hlášku, že se operace povedla. To je normální; stejně se chová spousta dalších příkazů, např. cd.

Aktuální konfiguraci gitu si můžeš zkontrolovat příkazem:

$ git config --global --list
user.name=Adéla Novotná
user.email=adela.novotna@example.cz

A to je vše! Git máš nainstalovaný. Gratuluji!

{
  "data": {
    "sessionMaterial": {
      "id": "session-material:2018/tieto:install:3",
      "title": "Instalace Gitu",
      "html": "\n          \n    \n\n    <h1>Git</h1>\n<p>Dal&#x161;&#xED; program, kter&#xFD; budeme pozd&#x11B;ji pot&#x159;ebovat,\nn&#xE1;m pozd&#x11B;ji umo&#x17E;n&#xED; (mimojin&#xE9;) spolupracovat\nna vznikaj&#xED;c&#xED;ch programech s ostatn&#xED;mi.\nJmenuje se Git.\nPoj&#x10F;me si ho nainstalovat a nastavit.</p>\n<p>Instalace je r&#x16F;zn&#xE1; pro r&#x16F;zn&#xE9; opera&#x10D;n&#xED; syst&#xE9;my, vyber ten sv&#x16F;j.</p>\n<h2>Linux</h2>\n<p>Instalaci na Linux zvl&#xE1;dneme jedn&#xED;m p&#x159;&#xED;kazem:</p>\n<p><strong>Fedora, RHEL</strong>:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>sudo dnf install git gitk git-gui nano\n</pre></div><p><strong>Ubuntu, Debian</strong>:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>sudo apt-get install git gitk git-gui nano\n</pre></div><p>U jin&#xFD;ch Linux&#x16F; p&#x159;edpokl&#xE1;d&#xE1;m, &#x17E;e instalovat um&#xED;&#x161;; nainstaluj si <em>git</em>,\n<em>gitk</em>, <em>git gui</em> a <em>nano</em>.</p>\n<p>Jestli m&#xE1;&#x161; nainstalov&#xE1;no, je&#x161;t&#x11B; nastav Gitu editor.\nPokud nem&#xE1;&#x161; r&#xE1;d/a Vim (nebo nev&#xED;&#x161; co to je),\nzadej tento p&#x159;&#xED;kaz:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>git config --global core.editor nano\n</pre></div><p>D&#xE1;l pokra&#x10D;uj obecn&#xFD;m <a href=\"#config\">nastaven&#xED;m</a> n&#xED;&#x17E;e.</p>\n<h2>Windows</h2>\n<p>Jdi na str&#xE1;nku <a href=\"https://git-scm.org\">git-scm.org</a>, st&#xE1;hni si\nGit a nainstaluj si ho.\nP&#x159;i instalaci vyber tyto volby:</p>\n<ul>\n<li>Run Git from the Windows Command Prompt</li>\n<li>Checkout Windows-style, commit Unix-style line endings</li>\n</ul>\n<p>Ostatn&#xED; mo&#x17E;nosti nem&#x11B;&#x148;.</p>\n<p>Potom Gitu nastav editor.\nM&#xE1;&#x161;-li otev&#x159;enou p&#x159;&#xED;kazovou &#x159;&#xE1;dku, zav&#x159;i ji a otev&#x159;i novou.\n(Instalace m&#x11B;n&#xED; syst&#xE9;mov&#xE9; nastaven&#xED;, kter&#xE9; se mus&#xED; na&#x10D;&#xED;st znovu.)\nV&#xA0;nov&#xE9; p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dce zadej:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>git config --global core.editor notepad\n<span class=\"gp\">&gt; </span>git config --global format.commitMessageColumns <span class=\"m\">80</span>\n<span class=\"gp\">&gt; </span>git config --global gui.encoding utf-8\n</pre></div><p>A te&#x10F; pokra&#x10D;uj v&#xA0;sekci <a href=\"#config\">Nastaven&#xED;</a> n&#xED;&#x17E;e &#x2013; macOS p&#x159;esko&#x10D;.</p>\n<h2>macOS</h2>\n<p>Spus&#x165; v p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dce <code>git</code>.\nJe-li u&#x17E; nainstalovan&#xFD;, dozv&#xED;&#x161; se, jak ho pou&#x17E;&#xED;vat\n(v&#xFD;pis za&#x10D;&#xED;n&#xE1; <code>usage</code>).\nJinak ho nainstaluj pomoc&#xED; Homebrew:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>brew install git\n</pre></div><p>Nainstalovan&#xE9;mu Gitu je je&#x161;t&#x11B; pot&#x159;eba nastavit editor (zadej <code>nano</code>,\ni kdy&#x17E; sis v r&#xE1;mci instalace editoru nainstaloval/a nap&#x159;. Atom).\nD&#x11B;l&#xE1; se to t&#xED;mto p&#x159;&#xED;kazem:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>git config --global core.editor nano\n</pre></div><p>D&#xE1;l pokra&#x10D;uj obecn&#xFD;m nastaven&#xED;m:</p>\n<p><a id=\"config\"></a></p>\n<h2>Nastaven&#xED;</h2>\n<p>Na projektu, kter&#xFD; bude ulo&#x17E;en v Gitu, m&#x16F;&#x17E;e\nspolupracovat v&#xED;ce lid&#xED;.\nAby &#x161;lo dohledat, kdo ud&#x11B;lal kterou zm&#x11B;nu, je Gitu\npot&#x159;eba &#x159;&#xED;ct jm&#xE9;no a e-mail.\nDo p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dky zadej n&#xE1;sleduj&#xED;c&#xED; p&#x159;&#xED;kazy, zm&#x11B;&#x148; v&#xA0;nich ale\njm&#xE9;no a adresu:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>git config --global user.name <span class=\"s2\">&quot;Ad&#xE9;la Novotn&#xE1;&quot;</span>\n<span class=\"gp\">$ </span>git config --global user.email adela.novotna@example.cz\n</pre></div><p>M&#x16F;&#x17E;e&#x161; samoz&#x159;ejm&#x11B; pou&#x17E;&#xED;t i p&#x159;ezd&#xED;vku, nebo dokonce\nfale&#x161;n&#xFD; e-mail, ale v takov&#xE9;m p&#x159;&#xED;pad&#x11B; bude slo&#x17E;it&#x11B;j&#x161;&#xED; se\nzapojit do t&#xFD;mov&#xFD;ch projekt&#x16F;.\nKa&#x17E;dop&#xE1;dn&#x11B;, jm&#xE9;no i e-mail jdou kdykoli zm&#x11B;nit\nt&#xED;m, &#x17E;e konfigura&#x10D;n&#xED; p&#x159;&#xED;kazy zad&#xE1;&#x161; znovu.</p>\n<div class=\"admonition note\"><p>Pokud se boj&#xED;&#x161; spamu, neboj: neza&#x10D;ne&#x161; ho dost&#xE1;vat v&#xED;c\nne&#x17E; p&#x159;i norm&#xE1;ln&#xED;m pou&#x17E;&#xED;v&#xE1;n&#xED; e-mailu.\nAdresa se zobraz&#xED; jen lidem, kte&#x159;&#xED; si st&#xE1;hnou projekt,\ndo kter&#xE9;ho jsi p&#x159;isp&#xED;val/a.\nSpamme&#x159;i se v&#x11B;t&#x161;inou zam&#x11B;&#x159;uj&#xED; na m&#xE9;n&#x11B; technicky zdatn&#xE9;\nlidi, ne&#x17E; jsou u&#x17E;ivatel&#xE9; Gitu. :)</p>\n</div><p>D&#xE1;le si m&#x16F;&#x17E;e&#x161; nastavit barevn&#xE9; v&#xFD;pisy &#x2013; pokud si tedy\n(jako n&#x11B;kte&#x159;&#xED; auto&#x159;i Gitu) nemysl&#xED;&#x161;, &#x17E;e p&#x159;&#xED;kazov&#xE1;\n&#x159;&#xE1;dka m&#xE1; b&#xFD;t &#x10D;ernob&#xED;l&#xE1;:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>git config --global color.ui <span class=\"nb\">true</span>\n</pre></div><div class=\"admonition note\"><p>Spu&#x161;t&#x11B;n&#xED; <code>git config</code> nevyp&#xED;&#x161;e &#x17E;&#xE1;dnou hl&#xE1;&#x161;ku, &#x17E;e se operace povedla.\nTo je norm&#xE1;ln&#xED;; stejn&#x11B; se chov&#xE1; spousta dal&#x161;&#xED;ch p&#x159;&#xED;kaz&#x16F;, nap&#x159;. <code>cd</code>.</p>\n<p>Aktu&#xE1;ln&#xED; konfiguraci gitu si m&#x16F;&#x17E;e&#x161; zkontrolovat p&#x159;&#xED;kazem:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>git config --global --list\n<span class=\"go\">user.name=Ad&#xE9;la Novotn&#xE1;</span>\n<span class=\"go\">user.email=adela.novotna@example.cz</span>\n</pre></div></div><p>A to je v&#x161;e! Git m&#xE1;&#x161; nainstalovan&#xFD;. Gratuluji!</p>\n\n\n        "
    }
  }
}