Cíl
===
-Naučit se pracovat verzovacím systémem [Git][git]. Konrétně nás bude
+Naučit se pracovat s verzovacím systémem [Git][git]. Konrétně nás bude
zajímat:
* využití Gitu pro distribuovaný vývojový model, který je praktikován
V tomto repozitáři je uloženo zadání dnešní úlohy. Abyste se k němu
dostali, musí server znát váš veřenjný SSH klíč. Jak toho docílit
- najdete na [[rtime-git-ssh-key|samostatné stránce]]. Přístup k
+ najdete na [[samostatné stránce|rtime-git-ssh-key]]. Přístup k
repozitářům na serveru rtime budete potřebovat i v písemce. **Proto
vám důrazně doporučujeme zprovoznit přístup už na tomto cvičení,
abyste při písemce neztráceli čas.**
2. Nyní můžeme stáhnout obsah právě přidaného repozitáře:
git fetch osp
+ V případě úspěchu bude výstup vypadat následovně:
- remote: Counting objects: 17, done.
- remote: Compressing objects: 100% (9/9), done.
- remote: Total 10 (delta 4), reused 7 (delta 1)
- Unpacking objects: 100% (10/10), done.
- From ssh://rtime.felk.cvut.cz/osp/mc
- * [new branch] master -> osp/master
- * [new branch] only-directories -> osp/only-directories
+ remote: Counting objects: 17, done.
+ remote: Compressing objects: 100% (9/9), done.
+ remote: Total 10 (delta 4), reused 7 (delta 1)
+ Unpacking objects: 100% (10/10), done.
+ From ssh://rtime.felk.cvut.cz/osp/mc
+ * [new branch] master -> osp/master
+ * [new branch] only-directories -> osp/only-directories
3. Příkaz nám vypíše, že v repozitáři byly dvě nové větve. Všechny
větve ze vzdálených repozitářů vypíšeme příkazem
Výsledek bude vypadat pravděpodobně takto:
Auto-merging doc/man/mc.1.in
- Auto-merging src/filemanager/find.c
- CONFLICT (content): Merge conflict in src/filemanager/find.c
- Automatic merge failed; fix conflicts and then commit the result.
+ Auto-merging src/filemanager/find.c
+ CONFLICT (content): Merge conflict in src/filemanager/find.c
+ Automatic merge failed; fix conflicts and then commit the result.
Vidíme, že se automaticky povedlo sloučit změny v souboru
`doc/mc.1.in`, ale při slučování změn ve `src/find.c` už takové
abychom zjistili co je ještě potřeba vyřešit. V našem případě vypadá
výstup zhruba takhle:
- # On branch homework
- # Changes to be committed:
- #
- # modified: doc/man/mc.1.in
- #
- # Unmerged paths:
- # (use "git add/rm <file>..." as appropriate to mark resolution)
- #
- # both modified: src/filemanager/find.c
+ # On branch homework
+ # Changes to be committed:
+ #
+ # modified: doc/man/mc.1.in
+ #
+ # Unmerged paths:
+ # (use "git add/rm <file>..." as appropriate to mark resolution)
+ #
+ # both modified: src/filemanager/find.c
Konflikt lze řešit následujícími způsoby:
======
Proveďte sloučení větve `ssh://git@rtime.felk.cvut.cz/osp/mc
-only-directories` s aktuální vývojovou větví `origin/master. Výsledek
+only-directories` s aktuální vývojovou větví `origin/master`. Výsledek
uložte do [vámi vytvořeného repozitáře (forku) na repo.or.cz][forkmc]
do větve `homework`.