Professional Documents
Culture Documents
21/10/2014
MC LC
1. Tng quan v h thng qun l phin bn (version control system) .................................................. 3
2. Khi lc v Git ...................................................................................................................................................... 5
3. Cch thit lp h thng Git.................................................................................................................................. 7
3.1 i vi my con (client) ................................................................................................................................ 7
3.2 Thit lp server cha Git ............................................................................................................................... 7
4. S dng Git .............................................................................................................................................................. 9
4.1 To mt kho cha ............................................................................................................................................. 9
4.2 Thm tp tin vo kho ................................................................................................................................... 10
4.3 To bn sao lu .............................................................................................................................................. 10
4.4 Xem thng tin lu tr ca Git v d n................................................................................................ 10
4.5 Xem cc bn sao ............................................................................................................................................. 10
4.6 Khi phc file hoc ton d n ................................................................................................................ 11
THAM KHO............................................................................................................................................................... 12
20/10/2014
Trang 2
20/10/2014
Trang 3
20/10/2014
Trang 4
2. Khi lc v Git
Git l mt h qun l phin bn phn tn do tc gi Linux - Linus Torvalds to ra dnh cho
d n pht trin nhn Linux vo nm 2005, thay th cho h thng BitKeeper trc .
Mt s u im ca Git:
Nhanh
Thit k n gin
H tr tt cho pht trin phi tuyn (ngn nhnh song song)
Phn tn ton din
20/10/2014
Trang 5
y l s khc bit ln nht gia Git v hu ht cc VCS khc. Git ging nh mt h thng
qun l tp tin thu nh vi cc tnh nng, cng c v cng mnh m c xy dng da trn
n, khng ch l mt h thng qun l phin bn n gin.
20/10/2014
Trang 6
b) Mc nh, Git dng trnh son tho mc nh (vi), nhng bn c th thay i (vd:
emacs):
c) Trnh so snh file, Git chp nhn kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff,
ecmerge, v opendiff. y, v d l vimdiff:
20/10/2014
Trang 7
Yu cu lp trnh vin khc cung cp file cha kha SSH cng cng. Kha SSH cng
thng cha trong ~/.ssh/id_rsa.pub hoc nu cha c th to bng tin ch
ssh-keygen
thay i nu mun.
Trn
my
server
thc
hin
thm
cc
kha
cng
vo
tp
tin
~/.ssh/authorized_keys
$ mkdir ~/.ssh
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod R go=~/.ssh
b) To mt kho cha rng (project.git) ti ni lu tr ( y l /opt/git):
$ mkdir /opt/git/project.git
$ cd /opt/git/project.git
$ git --bare init
20/10/2014
Trang 8
* Cu hnh HTTP/HTTPS:
a) u tin, ta cn kch hot post-update, mc ch khi c ai dng SSH y d liu
ln th Git s cp nht cc file c th ly v qua HTTP/HTTPS
$ cd /opt/git/project.git
$ mv hooks/post-update.sample hooks/post-update
$ chmod a+x hooks/post-update
b) Cu hnh VirtualHost cho Apache service vi th mc cha project kia (/opt/git), thm
on vo file cu hnh httpd.conf
<VirtualHost *:80>
ServerName git.gitserver # my ch
DocumentRoot /opt/git
# th mc gc
<Directory /opt/git/>
Order allow, deny
Allow from all
</Directory>
</VirtualHost>
c) Chuyn quyn s hu th mc cha project (/opt/git) cho nhm www-data
$ chgrp -R www-data /opt/git
d) Khi ng li Apache.
4. S dng Git
Mt s hng dn c bn nht cho ngi dng Git.
4.1 To mt kho cha
To mi t th mc d n trn my, g lnh:
$ git init
20/10/2014
Trang 9
(d n s em v t vo th mc cha)
a ch d n c cc dng sau:
i.
ii.
iii.
iv.
file:///path/to/repo
http(s)://gitserver.com/path/to/repo
git://path/to/repo
user@server:path/to/repo
4.3 To bn sao lu
Sau khi thm cc tp tin, th mc vo kho, ta c th tin hnh to snapshot:
$ git commit
Khi dng lnh ny, Git s m trnh son tho cu hnh bc trn ra, ta g ghi ch cho
snapshot ny ri lu li. Lc ny snapshot s c to ra.
Hoc ta dng lnh
$ git commit m ghi ch
Lnh ny cho bit nhng file no ang c Git theo di, file no b b qua,
$ git log
20/10/2014
Trang 10
20/10/2014
Trang 11
20/10/2014
Trang 12