Git dành cho người mới bắt đầu (phần 1).

Git là gì ?

Trước khi bắt đầu với git, chúng ta sẽ cùng nhau tìm hiểu về khái niệm hệ thống quản lí phiên bản (Version Control System).
Version Control System (VCS) là hệ thống nhằm quản lí những thay đổi của 1 số tập tin theo thời gian. Ngoài việc cho phép bạn khôi phục lại trạng thái trước đó của những tập tin đã thay đổi, nó còn cung cấp những thông tin về thời gian thực hiện chỉnh sửa, nội dung cũng như người chỉnh sửa. Việc sử dụng một VCS (Version Control System) cũng mang lại 1 lợi ích to lớn đó là trong một số trường hợp, vì 1 lí do nào đó nếu bạn mất các tập tin thì bạn có thể dễ dàng phục hồi phục nó.
what is git

Phân loại các VCS
1. Local Version Control Systems (Local VCSs): Hệ thống quản lí phiên bản cục bộ.
Một cách để quản lí các file theo kiểu truyền thống đó là copy file đó sang 1 thư mục khác và đặt tên file theo thời gian hoặc nội dung chỉnh sửa.
Nhược điểm: Mất thời gian, dể xảy ra nhầm lẫn khi thực hiện sao chép. Để khắc phục vấn đề vừa nêu ra, các lập trình viên đã tạo ra local VCSs đó là một cơ sở dữ liệu nhằm lưu những sự thay đổi của các file bằng cách kiểm soát những sự thay đổi. Hình ảnh mô tả hoạt động của local VCSs:

2. Centralized Version Control Systems (CVCSs) : Hệ thống quản lí phiên bản tập trung.
Hình ảnh minh hoạt cách hoạt động của CVCSs:

Ưu điểm:

  • Khắc phục nhược điểm của Local VCSs ( Local VCSs chỉ được sử dụng trên một máy local). Cách thức hoạt động của CVCSs đó là sẽ có 1 máy chủ (Central VCS Server) sẽ chứa tất cả những phiên bản của các file. Các máy khách (clients) có thể lấy được nội dung thay đổi của các file từ máy chủ đó.
  • Như đã thấy ở hình ảnh trên, việc thiết lập 1 CVCSs là khá đơn giản. Người quản lí chỉ phải giám sát kho lưu trữ (repository) và những lập trình viên sẽ không quan tâm nhiều đến repository đó.

Nhược điểm:

  • Nếu máy chủ đó ngừng hoạt động 1 thời gian thì trong suốt khoảng thời gian đó không máy khách nào có thể lưu các nội dung thay đổi của họ đang làm.
  • Khi máy chủ gặp sự cố những bản backup chưa được lưu sẽ bốc hơi ngoại trừ những file được lưu tại máy local của người đó. Dẫn đến bạn có nguy cơ mất mọi thứ.
  • Những người tham gia cùng một dự án phải kết nối thông qua server nên không thể tương tác trực tiếp với nhau.

3.Distributed Version Control Systems (DVCSs): Hệ thống quản lí phiên bản phân tán.
Hình ảnh minh họa cách làm việc của một DVCSs:

Có thể kể đến các DVCSs như Git, Mercurial, Bazaar hoặc Darcs. Ở đây các máy khách (clients) không chỉ có thể kiểm tra những sự thay đối của các file dưới dạng snapshot (sẽ đề cập sau), họ có thể nhanh chóng tạo ra 1 bản sao của các file thay đổi này tại máy tính của mình. Do đó nếu bất kì máy chủ nào gặp sự cố thì chỉ cần một máy client có dữ liệu của máy chủ thì nó có thể sao chép lại cho máy chủ các các máy khác để khôi phục lại dữ liệu. Mỗi bản copy từ máy client thực sự là 1 bản sao lưu đầy đủ của tất cả dữ liệu (do việc copy dữ liệu từ máy chủ được thực hiện rất dễ dàng chỉ bằng 1 vài câu lệnh).
Hơn nữa, hệ thống quản lí phiên bản này có thể thiết lập các kho lưu trữ từ xa thông qua internet(remote repository). Vì vậy chúng ta có thể cộng tác với nhiều nhóm khác nhau theo nhiều cách khác nhau trong cùng một dự án. Tham khảo bài viết Mô hình git branch hiệu quả
Từ những thông tin về các hệ thống quản lí phiên bản nêu trên, chúng ta đã có thể hình dung sơ bộ cách thức hoạt động của Git.

Cài đặt và cấu hình

Cũng như những phần mềm khác, hãy bắt đầu bằng việc cài đặt nó. Bài viết này hướng dẫn bạn sử dụng git trên hệ điều hành linux Ubuntu, bạn có thể tham khảo cài đặt của các hệ điều hành khác tại trang chủ của git
Đối với hệ điều hành linux, khá tiện dụng khi bạn có thể thao tác với git trên terminal mà không cần dùng shell git bash như trên windowns.

  1. Mở Terminal (Ctrl+Atl+T) và gõ lệnh để cài đặt git :
    $ sudo apt-get install git
  2. Tiếp theo, thực hiện thiết lập chứng thực cá nhân bao gồm user name và email.
    git config --global user.name "your name"
    git config --global user.email "your email"
  3. Kiểm tra lại thông tin bằng lệnh :
    $cat ~/.gitconfig
  4. kết quả hiện ra trên console
    $name = your name
    $email = your email

Nếu bạn gặp vấn đề khi sử dụng Git và cần được giúp đỡ, Git có 3 cách để có thể nhận được hướng dẫn:

$ git help
$ git --help
$ man git

Ví dụ : Bạn cần sự trợ giúp khi chạy lệnh “git config” để lấy những option mong muốn, hãy sử dụng lệnh:
$ Git help config
Những lệnh này khá tiện dụng bởi vì bạn có thể sử dụng chúng ở bất kì đâu kể cả khi không có internet. Ngoài ra bạn cũng có thể search git channel trên Freenode IRC server (irc.freenode.net) để được hỗ trợ.

Bắt đầu với một Respository
Để có được một dự án Git chúng ta sẽ có 2 sự lựa chọn:
1. Dùng một dự án hoặc môt folder đã có sẵn để import git.
2. Clone một repository đã có ở một máy chủ khác.
Để làm theo cách thứ nhất, trước tiên hãy đến thư mục cần khởi tạo git . Giả sử thư mục cần khởi tạo git là your_repository nằm ở Desktop, sử dụng lệnh cd ~/Desktop/your_repository để đến thư mục và khởi tạo git bằng lệnh git init. Có thể gộp chung 2 lệnh bằng 1 lệnh kép :
cd ~/Desktop/your_repository && git init
Kết quả trên console:
Initialized empty Git repository in /home/yourname/Desktop/your_repository/ .git
Thực chất quá trình này sẽ tạo ra 1 file ẩn .git để chứa các folder và các file mà git cần sử dụng. Hãy truy cập vào folder này nếu bạn muốn biết sâu về cách hoạt động của git.
Cách thứ hai là nhân bản 1 repository, dùng lệnh git clone [url], url là đường dẫn của repository cần sao chép. Ví dụ tạo một bản sao của thư viện Ruby Git có tên Grit bằng lênh :
$ git clone git://github.com/schacon/grit.git
Một thư mục mới có tên grit sẽ được tạo, kèm theo thư mục .git và bản sao mới nhất của tất cả dữ liệu của repository đó bên trong. Nếu bạn xem bên trong thư mục grit, bạn sẽ thấy các tập tin của dự án bên trong.

Bài viết tiếp theo: Git dành cho người mới bắt đầu (phần 2)

Nội dung bài viết được lấy chủ yếu từ trang https://git-scm.com

Gửi phản hồi


Notice: Undefined offset: 0 in /var/www/learn.iotmaker.vn/wp-includes/class-wp-query.php on line 3162