Sunday, May 24, 2015


1. Một số khái niệm
Khi làm việc với một project có một điều là bạn không thể nhớ hết được ngày nào bạn làm cái gì, sự khác nhau giữa các version ở những đâu, làm thế nào để các coder ở xa nhau có thể làm chung một project, vv... thế nên một yêu cầu tất yếu là bạn cần một công cụ quản lý sao cho nó có thể làm tất cả các việc trên cho bạn.
Git là một hệ thống quản lý source code đáp ứng yêu được các cầu đó. Git được phân phối trên tất cả các hệ điều hành, trong thế giới Linux, nó là duy nhất.
Ngoài Git ra thì còn một số hệ thống quản lý source code khác bạn nên biết qua như CVS (Concurrent Versions System) và SVN (SubVersioN), chúng được dùng nhiều trên nền tảng Windows.

2. Mô hình hoạt động
Git được chia làm 2 phần gọi là Client và Server, Client chính là máy tính của bạn được cài đặt phần mềm git client, còn Server là một máy tính khác được cài git server, chúng tương tác hai chiều thông qua các API.
Mô hình hoạt động là môt server có nhiều client (mỗi programmer là một client).
Cách thức hoạt động như sau:
+ Admin của git server tạo một kho để chứa source code project của bạn gọi là Remote repository
+ Trên client, bạn cũng tạo một kho để chứa source code gọi là Local repository
+ Bạn tạo ra các thư mục, các file source code, các ghi nhớ cho project, ...
+ Bạn đẩy (push) tất cả project lên Remote repository
+ Ở một client khác từ bây giờ có thể lấy về (pull) tất cả project

3. Git client
3.1 Install
yum install git-all
3.2 Initial project
Toàn bộ quá trình sau được thực hiện bằng command trên Terminal

cd <path to project folder>

git init

touch README.md
=> tạo readme file để giới thiệu project, có thể ko cần cũng được

git add ./   
=> add tất cả các file hiện tại trong project vào danh sách tracking của git, 
git add *.h, git add *.c, git add *.cpp add tất cả các file .h, .c và .cpp vào project

git commit -am "init project, add all source code" 
=> commit là add thêm ghi chú

Sau khi init xong bạn tạo ra các file source code, modify, delete bình thường, mỗi lần muốn ghi lại một ghi chú thì bạn thực hiện lặp lại hai lệnh git add và git commit như trên.

Với trường hợp trên git server đã có sẵn source code và bạn muốn lấy nó về để tiếp tục phát triển các version thì thực hiện các lệnh như sau:

cd <new folder>

git clone https://github.com/eslinux/Utils.git  
=> Utils là project đã có trên git server, sau lệnh này sẽ có thư mục cùng tên Utils nằm trong trư mục cha <new folder>

git pull 
=> update from remote server

3.3 Một số lệnh thao tác

git log  
=> xem lại các commit

git status  
=> list current status about untrack, modify, delete ...

git rm -f filename 
=> delete file on disk

git rm --cached filename 
=> remove file from current tracking

git checkout 
=> the similar to 'git status'

git ls-files 
=> list all file in current folder and subfolder

git diff oldkey newkey 
=> trace difference on screen, red text are old content, blue text are new content. oldkey và newkey có được nhờ lệnh "git log", mỗi key là  ID cho một commit


3.4 Đẩy source code lên git server
Sau khi hoàn thành tương đối một version (hoặc một tính năng nào đó) của project, bạn đẩy source code lên git server bằng các lệnh sau:

git remote add origin https://github.com/eslinux/Utils.git 
=> nếu init project bằng "git clone" thì không cần chạy lệnh này

git push -u origin master

Hướng dẫn sử dụng tất cả các lệnh git tại đây và tại đây :D 

Xem tiếp Git - Hệ thống quản lý source code (Part 2) .

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -