* [new branch] only-directories -> osp/only-directories
* [new branch] only-directories-old -> osp/only-directories-old
-3. Příkaz nám vypíše, že v repozitáři byly dvě nové větve. Všechny
+3. Příkaz nám vypíše, že v repozitáři byly tři nové větve. Všechny
větve ze vzdálených repozitářů vypíšeme příkazem
git branch -r
Tyto dva příkazy jsou ekvivalentní a vypisují commity, které jsou
ve větvi *osp/only-directories* a zároveň nejsou (^) ve větvi *master*.
- Chcete-li vidět i změny v kódu použijte jeden z následujících příkazů:
+ Chcete-li vidět i změny v kódu (patch) použijte jeden
+ z následujících příkazů:
git log -p osp/only-directories ^master
gitk osp/only-directories ^master
+ Výše uvedené příkazy zobrazují změny provedené jednotlivými
+ commity. Pokud nás zajímá celková změna bez rozdělení na jednotlivé
+ committy, pomůže nám příkaz `git diff`:
+
+ git diff master..osp/only-directories
+ git diff master osp/only-directories
+
+ První příkaz zobrazí změny, které obsahuje verze *only-directories* a
+ nejsou ve větvi master. Druhý příkaz zobrazí kompletní rozdíl, tj.
+ i změny, které jsou ve větvi *master* a ne v *only-directories*.
+
6. Podobně můžeme postupovat i s původním repozitářem. Jméno *origin*
je výchozí a proto ho nemusíme zadávat:
-----------------------
Operace slučující dvě a více větví do jedné se nazývá *merge*. V Gitu
-Můžou při slučování nastat tři situace:
+můžou při slučování nastat tři situace:
* *Already up-to-date* je situace, kdy už je větev, kterou chceme
sloučit, dosažitelná z aktuální větve (už byla sloučena v
commit` (jak nám git napovídá v hláškách)
V průběhu řešení konfliktu je užitečné používat příkaz `git status`,
-Abychom zjistili, co je ještě potřeba vyřešit. V našem případě vypadá
+abychom zjistili, co je ještě potřeba vyřešit. V našem případě vypadá
výstup zhruba takto:
# On branch homework
Pokud veřejný klíč kopírujete do svého domovského adresáře z jiného
počítače, je nezbytně nutné, aby byla správně nastavena práva k vašemu
-adresáři s SSH daty. Do adresáře nesmí mít přístup nikdo jiný než vlastník.
-K privátnímu klíči (ten bez `*.pub`) nesmí mít ostatní uživatelé
-A také žádný přístup a k veřejnému klíči by naopak měla být práva
-pro čtení nastavena pro všechny.
+adresáři s SSH daty. Do adresáře nesmí mít přístup nikdo jiný než
+vlastník. K privátnímu klíči (ten bez `*.pub`) nesmí mít přístup
+ostatní uživatelé. K veřejnému klíči by naopak měla být práva pro
+čtení nastavena pro všechny. Aktuálně nastavená práva si můžete
+zkontrolovat pomocí následujících příkazů:
uzivatel@postel:~$ ls -ld ~/.ssh
drwx------ 2 uzivatel users 136 Mar 9 12:23 /home/pisa/.ssh
-rw-r--r-- 1 uzivatel users 393 Mar 9 12:23 id_rsa.pub
-rw-r--r-- 1 uzivatel users 4272 Dec 7 09:39 known_hosts
-**Pro kontrolu svých klíčů použijte příkaz `check-ssh-key`**, který
-upozorní na případné problémy a vypíše, které klíče budou na server
-`rtime` automaticky importovány. Pokud máte problém s právy k souborům
-či adresářům, prostudujte si dokumentaci `man chmod`.
+Zkontrolujte si vaše klíče příkazem
+
+ check-ssh-key
+
+Ten upozorní na případné problémy a vypíše, které klíče budou na
+server `rtime` automaticky importovány. Pokud máte problém s právy
+k souborům či adresářům, prostudujte si dokumentaci `man chmod`.
Doporučujeme, abyste si klíč **zašifrovali heslem** (enter a
passphrase), protože pak nebude moct být váš soukromý klíč zneužit
rozšifrujete v paměti svého počítače a až do vašeho odlogování heslo
nebudete muset zadávat.
-## SSH agent
+## SSH agent na serveru postel
Hesla v paměti udržuje služba `ssh-agent`, která běží na počítačích
v laboratořích (a i na většině běžných GNU/Linux distribucí) pro každé
Na serveru `postel` není automaticky pro vzdálená sezení `ssh-agent` spuštěn.
Je potřeba si ho pustit, zajistit nastavení proměnných prostředí `SSH_AGENT_PID`
-a `SSH_AGENT_SOCKET` a při odhlášení agenta ukončit příkazem `kill $SSH_AGENT_PID`
+a `SSH_AGENT_SOCKET`. Toho lze docílit příkazem:
+
+ eval $(ssh-agent)
+
+Při odhlášení je vhodné agenta ukončit příkazem `kill $SSH_AGENT_PID`,
případně `killall ssh-agent`.
Případně je možné agenta pustit na svém lokálním počítači a zajistit