Chủ Nhật, 1 tháng 7, 2012

Sử dụng Git version control

Khi lập trình nhóm, nhiều người cùng viết 1 chương trình, khi một người tạo bất kỳ một sự thay đổi ở một giai đoạn nào cũng có thể gây ảnh hưởng tới công việc của người khác ở giai đoạn khác. Không phải lúc nào các bạn cũng có thể gặp nhau, và không phải lúc nào bạn cũng nhớ chính xác những thay đổi của mình. "Version control" là các chương trình giúp các bạn thống kê, xem lại những thay đổi của mình hay những người khác v.v. Bài viết này mục đích giới thiệu sơ bộ cho các bạn cách dùng Git, một trong những chương trình version control khá phổ dụng.
Mức độ khó: 0



Một vài IDE có tích hợp sẵn những plug-in cho các phần mềm này, nhưng mà chúng ta chỉ xem qua cách làm việc cơ bản trên Terminal. Để cài đặt Git trên Ubuntu các bạn dùng lệnh "sudo apt-get install git", git chạy được hầu như mọi hệ điều hành phổ biến hiện nay.
Đầu tiên, trưởng nhóm lập trình sẽ tạo 1 "kho" (repository), kho là một server lưu giữ, trao đổi thông tin giữa máy bạn và các thành viên khác. Mỗi khi xong một công đoạn ta sẽ cập nhật kết quả làm việc của mình lên kho này, các thành viên khác có thể kiểm tra, xem các sự thay đỗi giữa phiên bản trên máy mình và phiên bản trên kho. Một số "kho" nổi tiếng là code.google.com, github.com, sourceforge.net, ...
Nếu là người bắt đầu project, việc bạn cần là khởi tạo hệ thống quản lý của Git. Giả sữ tôi có 1 project nằm trong thư mục WorkSpace/GitPro, 2 lệnh cần làm là:
cd WorkSpace/GitPro
git init
Git sẽ tạo 1 thư mục ẩn tên là ".git". Giả sử trong thư mục GitPro của chúng ta đã có 1 file "main.go", và ta muốn hệ thống Git quản lý nó, ta phải thêm nó vào.
git add main.go
Trong trường hợp bạn muốn thêm tất cả các file có trong thư mục:
git add --all
Nếu bạn tham gia tiếp tục phát triễn một dự án nào đó, việc bạn cần làm là tạo 1 bản sao cho riêng bạn từ "kho" online đó. Giả sự trên hệ thống code.google.com tồn tại 1 project với tên GitPro.
cd WorkSpace/
git clone https://code.google.com/p/GitPro/
Lệnh thứ 2 sẽ tạo download code và đặt code trong thư mục tên là GitPro.
Tất nhiên không phải hễ bạn cứ thay đổi 1 ký tự vào các file mà Git quản lý thì nó sẽ được lưu lại, có lẽ sau mỗi 1 buổi làm việc bạn hãy lưu lại trạng thái làm việc của mình, để làm được điều đó ta dùng lệnh:
git commit -am "lưu ý của bạn"
Lệnh này sẽ lưu lại trạng thái làm việc của bạn trên máy tính. Để upload lên kho online, ta dùng lệnh:
git push origin master
origin, master là một số khái niệm cùa Git version control, hiểu nôm na rằng trong một kho chứa cũng có nhiều khu vực, ngăn... với hệ tống Google Code, mặc định cứ chạy lệnh này là upload lên được.
Giả sửa ở đây ta muốn tạo một ngăn chứa nhỏ trên kho origin, để chứa code cho 1 chức năng mới chẳn hạng, ta dùng:
git checkout -b newfeature
Bạn sẽ nhận được một thông báo: "Switched to a new branch 'newfeature'", lúc này thay vì push lên master, chúng ta push công việc lện newfeature như sau:
git push origin newfeature
Và vào trước một buổi làm việc, bạn có hãy kiểm tra xem có ai thay đổi code giữa trạng thái hiện tại và "kho" online (remote repository) hay không với lệnh:
git status -s
Nếu thấy có khác biệt cần cập nhật, bạn dùng:
git pull origin master
Bạn cũng có thể so sánh trạng thái hiện tại với lần cuối cùng mình commit với:
git diff

Không có nhận xét nào:

Đăng nhận xét