Pouˇzit´ı gitlab v pˇredmˇetech Pogramov´an´ı 1/2
Zdenˇek Buk
17.2.2014
´
1 Uvod
Server gitlab1 pro spr´avu git repozit´arˇ u˚ se vyuˇz´ıv´a v pˇredmˇetech programov´an´ı (A0B36PR1,
˚ ezˇ n´e odevzd´av´an´ı semestr´aln´ıch prac´ı. Vˇsichni studenti uvedenych
A0B36PR2) pro prubˇ
´ pˇredmˇetu˚
by mˇeli m´ıt na server pˇr´ıstup (pomoc´ı FELid) a mˇeli by zde m´ıt vytvoˇreny´ repozit´arˇ s odpov´ıdaj´ıc´ım
´
redmˇ
et/login - t.j. napˇr. pro pˇredmˇet programov´an´ı 2 v letn´ım semestru
kodem
semestr pˇ
2013/2014 bude n´azev repozit´arˇ e B132 a0b36pr2/bukz1 (pro uˇzivatele bukz1).
Pokud odpov´ıdaj´ıc´ı repozit´arˇ nem´ate, nevytv´arˇ ejte jej a kontaktujte sv´eho cviˇcic´ıho.
´
Figure 1: Uvodn´
ı pˇrihlaˇsovac´ı str´anka serveru gitlab. Pokud nem´ate nastaveny pˇrihlaˇsovac´ı
´
udaje,
pouˇzijte pˇrihl´asˇ en´ı pomoc´ı FELid.
1.1
git
C´ılem tohoto n´avodu nen´ı podrobny´ popis distribuovan´eho verzovac´ıho syst´emu git. Pro sezn´amen´ı
se s t´ımto syst´emem doporuˇcuji seri´al na root.cz [3], knihu ProGIT [1], pˇr´ıpadnˇe cˇ l´anek jak
spr´avnˇe tvoˇrit commity [2].
1 https://gitlab.fel.cvut.cz
1
1.2
Nastaven´ı pˇr´ıstupovych
´
u˚
´ udaj
˚ zete pouˇz´ıt FELid. Pro pˇr´ıstup z NetBeans (pˇr´ıpadnˇe
Pro pˇrihl´asˇ en´ı na webov´e str´anky gitlab muˇ
jin´eho vyvojov´
eho prostˇred´ı cˇ i git klienta) bude nutn´e nastavit SSH kl´ıcˇ , pˇr´ıpadnˇe heslo pro
´
pˇr´ıstup pomoc´ı protokolu https. Toto nastaven´ı prov´est ve sv´em profilu.
Pokud nev´ıte, co je SSH kl´ıcˇ , pravdˇepodobnˇe vyuˇzijete pˇr´ıstup pˇres https a heslo. V n´avodu
tedy d´ale budeme uvaˇzovat tuto variantu. Pokud SSH kl´ıcˇ pouˇz´ıv´ate, bude vˇse jednoduˇssˇ´ı o
proces zad´av´an´ı hesla.
Figure 2: Str´anka s pˇrehledem uloˇzenych
´ SSH kl´ıcˇ u˚ a moˇznost pˇridat novy´ kl´ıcˇ .
Figure 3: Moˇznost nastaven´ı hesla pro pˇrihlaˇsov´an´ı pomoc´ı https
2
2
Netbeans
Pro potˇreby vyuky
programov´an´ı v pˇredmˇetech A0B36PR1 a A0B36PR2 budeme uvaˇzovat vyuˇzit´ı
´
repozit´arˇ e ve vyvojov´
em prostˇred´ı NetBeans. Nastaven´ı pro jin´a vyvojov´
a prostˇred´ı bude ob´
´
dobn´e.
2.1
Vytvoˇren´ı repozit´arˇe a vytvoˇren´ı projektu
Pro pr´aci s repozit´arˇ em je nutn´e zn´at jeho adresu (url). Pokud otevˇrete pˇr´ısluˇsny´ projekt, m´ate
moˇznost zkop´ırovat url pro ssh i pro https pˇr´ıstup.
Figure 4: Pohled na vychoz´
ı repozit´arˇ
´
Figure 5: Adresa repozit´arˇ e - moˇznost volby ssh/https
V prostˇred´ı NetBeans si vytvoˇrte projekt semestr´an´ı pr´ace (v uk´azkovych
´ screenshotech ”Chess”
- n´azev si samozˇrejmˇe zvolte podle vlastn´ı pr´ace). Vytv´arˇ´ıte projekt na lok´aln´ım disku, takˇze pro˚ kter´e rˇ eˇs´ıte na cviˇcen´ıch.
ces vytv´arˇ en´ı projektu se nijak neliˇs´ı od projektu,
3
Figure 6: Zaloˇzen´ı nov´eho projektu v NetBeans (1/2)
Figure 7: Zaloˇzen´ı nov´eho projektu v NetBeans (2/2)
4
Nyn´ı je potˇreba inicializovat git repozit´arˇ v novˇe vytvoˇren´em projektu - pomoc´ı volby menu
”Team→Git→Initialize Repository...”.
Figure 8: Inicializace git repozit´arˇ e v NetBeans projektu
Do novˇe vytvoˇren´eho repozit´arˇ e nyn´ı provedeme prvn´ı commit. T´ım uloˇz´ıme (a pˇr´ısluˇsnˇe
´ hlavn´ı tˇr´ıdy a pomocn´e projektov´e soubory2 ).
okomentujeme) do repozit´arˇ e n´asˇ projekt (zdrojovy´ kod
Figure 9: Commit (uloˇzen´ı) zmˇen do repozit´arˇ e
Ke kaˇzd´emu commitu je nutn´e (vhodn´e) zadat koment´arˇ , ktery´ struˇcnˇe popisuje, jak´e zmˇeny
se danym
´ commitem prov´ad´ı. Lze tak´e vybrat, jak´e soubory se maj´ı v dan´em commitu uloˇzit nen´ı tedy nutn´e commitovat vˇsechny zmˇeny nar´az. Kaˇzdy´ commit by mˇel reprezentvat nˇejakou
ucelenou zmˇenu - t.j. napˇr. implementace nˇejak´e nov´e funkcionality v semestr´aln´ı pr´aci, pˇr´ıpadnˇe
oprava chyby, atd.
Commit provede uloˇzen´ı zmˇen do repozit´arˇ e, ktery´ je na vaˇsem lok´aln´ım disku. Aby se
zmˇeny projevily i na serveru a aby si je mohli st´ahnout i ostatn´ı uˇzivatel´e (v pˇr´ıpadˇe semestr´aln´ı
pr´ace z programov´an´ı - v´asˇ cviˇcic´ı), je nutn´e zmˇeny v lok´aln´ım repozit´arˇ i odeslat na server. To se
˚ zete pracovat i
provede oprac´ı push. Nen´ı nutn´e kaˇzdy´ commit okamˇzitˇe pos´ılat na server (muˇ
offline a zmˇeny doˇcasnˇe ukl´adat pouze lok´alnˇe na disku), ale je to vhodn´e z hlediska z´alohy dat.
2 Obvykle se nedoporuˇ
´ cely
cuje ukl´adat do repozit´arˇ e tyto pomocn´e soubory vyvojov´
eho prostˇred´ı. Pro naˇse uˇ
´
semestr´aln´ı pr´ace je to ale vhodn´e - na projektu pracujete sami a m´ate tak plnou z´alohu sv´e pr´ace, vˇcetnˇe nastaven´ı
projektu.
5
Figure 10: Commit pr´avˇe zaloˇzen´eho projektu
Figure 11: Push - odesl´an´ı lok´aln´ıch zmˇen v repozit´arˇ i na server
6
´
Figure 12: Zde je potˇreba zadat adresu (url) vaˇseho repozit´arˇ e na gitlabu a pˇrihlaˇsovac´ı udaje
´ cely netˇreba detailnˇe zkoumat - budeme pracovat
Figure 13: Vybˇ
´ er lok´aln´ı vˇetve (pro naˇse uˇ
pouze s jedinou vˇetv´ı)
Figure 14: Vybˇ
´ er vzd´alen´e vˇetve
7
˚ zeme nyn´ı vidˇet, zˇ e operace push probˇehla
Figure 15: Na webov´e str´ance gitlab muˇ
Figure 16: Jsou zde vidˇet i jednotliv´e commity
8
´
2.2 Uprava
kodu
´
a commit zmˇen
V pˇredchoz´ı kapitole jsme vytvoˇrili novy´ projekt v NetBeans a tento projekt jsme uloˇzili do re˚
pozit´arˇ e na gitlab. Nyn´ı si uk´azˇ eme, bˇezˇ nou pr´aci s projektem. N´asleduje seznam screenshotu,
´
dokumentuj´ıc´ıch proces upravy
zdrojov´eho souboru (projektu), commit zmˇen a jejich odesl´an´ı
´
na server. Upravy
projektu mohou samozˇrejmˇe zahrnovat tak´e vytv´arˇ en´ı novych
´ souboru˚ (tˇr´ıd),
˚
maz´an´ı cˇ i pˇrejmenov´an´ı souboru.
ˇ ı - provedem drobnou
Figure 17: Provedn´e zmˇeny ve zdrojov´em souboru se brevnˇe zvyraz
nuj´
´
´ cely demonstrace
zmˇenu pro uˇ
Figure 18: Pravym
´ tlaˇc´ıtkem na projektu provedeme commit zmˇen
9
Figure 19: Commit s pˇr´ısluˇsnym
´ koment´arˇ em
Figure 20: Operace push odeˇsle zmˇeny na server gitlab
10
´
Figure 21: Pˇrihlaˇsovac´ı udaje
(pokud nepouˇz´ıv´ate ssh kl´ıcˇ )
˚ zete sledovat (stejnˇe jako v´asˇ cviˇcic´ı) jednotliv´e commity
Figure 22: Na serveru muˇ
11
˚ zete vidˇet i detaily jednotlivych
Figure 23: U kaˇzd´eho commitu muˇ
´ zmˇen.
12
3
Odkazy
Odkazy
[1] S. Chacon. Pro git. http://git-scm.com/book/cs.
[2] D. Majda.
profik/.
Commitujte jako prof´ık!
http://www.zdrojak.cz/clanky/commitujte-jako-
ˇ ak. Distribuovan´a spr´ava reviz´ı s git.
[3] K. Z´
sprava-revizi-s-git/.
13
http://www.root.cz/serialy/distribuovana-
Download

Pouˇzitı gitlab v predmetech Pogramov´anı 1/2