http://vietjack.com/git/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia s các bài hc online min phí Page 1
Mc lc
Gii thiu v Git .................................................................................................................... 4
Đi vi đc gi ...................................................................................................................... 4
Điều kiện tiền đề ................................................................................................................... 4
Cơ bn v Git ....................................................................................................................... 4
VCS h thng qun lý phiên bn .................................................................................... 4
H thng kim soát phiên bn phân phi .......................................................................... 5
Các li thế ca Git............................................................................................................. 5
Ngun min phí và m ............................................................................................ 5
Tốc độ nhanh và nh gn ........................................................................................ 6
D phòng (sao lưu) n ............................................................................................. 6
An toàn cao ................................................................................................................ 6
Không yêu cu mt phn cng mnh ................................................................... 6
Phân nhánh d dàng hơn ........................................................................................ 6
Các thut ng ca DVCS ................................................................................................. 7
Kho commit ni b .................................................................................................... 7
Thư mục làm vic và Staging hoc Index............................................................. 7
Blobs ........................................................................................................................... 8
Cây - Trees ................................................................................................................ 9
Ký thác - Commits .................................................................................................... 9
Các nhánh - Branches ............................................................................................. 9
Th - Tags .................................................................................................................. 9
Mô phng - Clone ..................................................................................................... 9
Pull ............................................................................................................................. 10
Push .......................................................................................................................... 10
HEAD ........................................................................................................................ 10
Revision .................................................................................................................... 10
URL ........................................................................................................................... 10
http://vietjack.com/git/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia s các bài hc online min phí Page 2
Cài đt môi trưng Git......................................................................................................... 11
Cài đt Git client .............................................................................................................. 11
Tùy chnh môi trưng Git ................................................................................................ 11
Thiết lập tên người s dng.................................................................................. 12
Thiết lp email id ..................................................................................................... 12
Tránh các commit sáp nhp khi pull .................................................................... 12
Màu ni ..................................................................................................................... 12
Thiết lp b son mặc định ................................................................................... 12
Thiết lp công c sáp nhp mặc định .................................................................. 12
Lit kê các thiết lp Git ........................................................................................... 13
Vòng đi Git ........................................................................................................................ 13
Hot đng Create trong Git ................................................................................................. 14
To mt tài khon s dng mi ...................................................................................... 14
To mt repository rng .................................................................................................. 15
Cp khóa chung/riêng ..................................................................................................... 15
Thêm các khóa vào các khóa đưc y quyn ................................................................ 16
Đy (Push) các thay đi ti repository ............................................................................. 17
Hot đng Clone trong Git .................................................................................................. 19
Thc hin thay đi trong Git ................................................................................................ 20
Review thay đi trong Git .................................................................................................... 22
Commit trong Git ................................................................................................................. 24
Hot đng Push trong HTML .............................................................................................. 26
Hot đng Update trong Git ................................................................................................ 28
Tùy chnh các chc năng đang tn ti ............................................................................. 28
Thêm chc năng mi ..................................................................................................... 31
Gi ra nhng thay đi mi nht....................................................................................... 33
Hot đng Stash trong Git ................................................................................................... 35
Hot đng Move trong Git ................................................................................................... 36
Hot đng Rename trong Git .............................................................................................. 38
http://vietjack.com/git/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia s các bài hc online min phí Page 3
Hot đng Delete trong Git .................................................................................................. 39
Sa li trong Git .................................................................................................................. 41
Tr li nhng thay đi chưa đưc commit ...................................................................... 41
D b nhng thay đi t khu vc t chc ...................................................................... 42
Di chuyn đim tr HEAD vi git reset ............................................................................ 43
Soft ............................................................................................................................ 44
Tùy chn mixed ....................................................................................................... 46
Tùy chn hard .......................................................................................................... 46
Hot đng Tag trong Git ...................................................................................................... 47
To các tag ..................................................................................................................... 47
Quan sát các tag ............................................................................................................. 48
Xóa các tag ..................................................................................................................... 49
Hot đng Patch trong Git ................................................................................................... 49
Qun lý nhánh trong Git ...................................................................................................... 52
To nhánh ...................................................................................................................... 52
Chuyn đi gia các nhánh ............................................................................................ 53
Cách tt đ to nhánh và chuyn đi gia các nhánh ..................................................... 54
Xóa mt nhánh ............................................................................................................... 54
Đt li tên cho mt nhánh ............................................................................................... 55
Sáp nhp hai nhánh ........................................................................................................ 55
Rebase các nhánh .......................................................................................................... 59
X lý Conflict trong Git ........................................................................................................ 60
Thc hin các thay đi trong nhánh wchar_support ........................................................ 60
Thc hin các thay đi trong nhánh master .................................................................... 61
X trí các conflict ............................................................................................................. 64
X lý các conflict ............................................................................................................. 64
Các Platform khác nhau trong Git ....................................................................................... 67
Repository trc tuyến trong Git ............................................................................................ 67
To repository GitHub ..................................................................................................... 67
http://vietjack.com/git/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia s các bài hc online min phí Page 4
Hot đng push .............................................................................................................. 68
Hot đng pull ................................................................................................................. 69
Tài liu tham kho v Git ..................................................................................................... 70
Các đưng link hu ích v Git ........................................................................................ 70
Gii thiu v Git
Git một hệ thống quản nguồn phân phối và kiểm soát phiên bản phân tán với sự nhấn
mạnh về tốc độ. Git lần đầu được thiết kế phát triển bởi Linus Torvalds cho phát triển hạt nhân
Linux. Nó là một phần mềm miễn phí được phân phối theo các điều khoản của GNU phiên bản 2.
Phần hướng dẫn này giải thích cách để sử dụng Git cho điều khiển phiên bản dự án trong môi
trường phân tán trong khi làm việc về phát triển các ứng dụng dựa trên hoặc không dựa trên web.
Loạt bài hướng dẫn của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint
Đi vi đc gi
Các phần hướng dẫn này sẽ giúp người mới bắt đầu tìm hiểu các chức năng cớ bản của hệ thống
quản lý phiên bản Git. Sau khi hoàn thành các phần hướng dẫn này, bạn sẽ thấy trình độ của mình
ở mức vừa phải trong việc sử dụng hệ thống kiểm soát phiên bản Git, và từ đó bạn có điều kiện để
nâng cao trình độ chuyên môn.
Điu kin tin đ
Chúng tôi giả định rằng bạn đang sử dụng Git để xử lý tất cả các dự án về Java hoặc Non-Java. Vì
vậy nó sẽ tốt nếu bạn đã tiếp xúc với vòng đời phát triển phần mềm kiến thức về phát triển các
ứng dụng dựa trên web hoặc không dựa trên web.
Cơ bn v Git
VCS h thng qun lý phiên bn
Version Control System (VCS) một phần mềm giúp các nhà phát triển phần mềm làm việc
cùng nhau và duy trì một lịch sử đầy đủ các công việc mà họ đã làm.
Dưới đây là các chức năng của một VCS:
http://vietjack.com/git/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia s các bài hc online min phí Page 5
Cho phép các nhà phát trin phn mm cùng làm vic vi nhau
Không cho phép ghi đè lên các thay đổi ca nhau
Duy trì mt lch s ca mi phiên bn.
Dưới đây là các loại VCS:
H thng kim soát phiên bn tp trung (CVCS).
H thng kim soát phiên bn phân phi/phân cp (DVCS).
Trong chương này chúng ta sẽ chỉ tập trung vào hệ thống quản lý phiên bản phân phối và đặc biệt
trên Git.
H thng kim soát phiên bn phân phi
Hệ thống kiểm soát phiên bản tập trung (CVCS) sử dụng một máy chủ để lưu giữ tất cả các file
cho phép các team cộng tác với nhau. Nhưng nhược điểm lớn nhất của CVCS cũng điểm thất
bại của nó, tức là, sự thất bại của các máy chủ trung tâm. Thật không may là, nếu máy chủ trung
tâm bị hỏng trong một giờ, thì trong suốt quãng thời gian đó không ai thể cộng tác được với ai
cả. ngay cả trong trường hợp xấu nhất, nếu đĩa của máy chủ trung tâm bị hỏng sự sao lưu
không được thực hiện, bạn sẽ mất toàn bộ lịch sử của dự án. Tại đây, hệ thống quản lý phiên bản
phân phối xuất hiện.
Các client DVCS không chỉ kiểm tra được các ảnh chụp mới nhất của các thư mục mà họ còn quan
sát được tất cả repository trữ của dự án. Nếu server bị hỏng, các kho dự trữ của các client thể
sao một bản sao đầy đủ cho server để khôi phục lại nó. Git không phụ thuộc vào server trung tâm
đó do tại sao bạn thể thực hiện nhiều thao tác khi bạn đang offline. Bạn thể ủy thác
các thay đổi, tạo các nhánh, xem các bản ghi và thực hiện các hoạt động khác khi bạn đang offline.
Bạn cần kết nối mạng chỉ để công bố những thay đổi của bạn và đưa những thay đổi mới nhất vào
dự án.
Các li thế ca Git
Ngun min phí và m
Git được công bố dưới giấy phép nguồn mở của GPL. sẵn miễn phí trên mạng. Bạn thể
sử dụng Git để quản lý các dự án thích hợp mà không phải trả bất kỳ đồng nào. Như là một nguồn
mở, bạn có thể tải mã nguồn của nó và cũng có thể thực hiện các thay đổi theo yêu cầu của bạn.