Bắt đầu dùng GIT – Sử Dụng Git cơ bản
Giới thiệu
GIT là một Version control system, sử dụng GIT có thể giúp ích lập trình viên quản lý dự án bằng phương pháp quản lý phiên bản, giúp họ không phải vò đầu bức tóc để cố gắng phân tích các thay đổi và đóng góp từ những người cùng phát triển code. Nói ngắn gọn, một VCS là thành phần chủ chốt của hệ thống quản lý cấu hình phần mềm, để phục vụ cho việc quản lý thay đổi của dự án. Thay đổi, chỉnh sửa, cập nhật được thực hiện dựa trên việc xác định bằng các mã nguồn hoặc số liệu. Thông tin như là timestamp và định danh của thay đổi cũng được lưu lại. Trong bài hướng dẫn này, một hệ thống quản lý phiên bản phổ biến nhất – GIT sẽ được nói đến. Bạn sẽ biết cơ bản, như là làm thế nào cài đặt trên hệ thống khác và làm thế nào sử dụng GIT đúng.
GIT là gì?
Trong năm 2005. Linux Torvalds (người tạo ra kernel Linux OS) phát triển GIT và từ đó, nó được vận hành hiệu quả bởi Junio Hamano, một lập trình viên người Nhật. Ngày hôm nay, nó là một hệ thống quản trị mã nguồn mở nổi tiếng nhất và có hàng triệu dự án hoạt động dựa trên nó, để điều khiển phiên bản (bao gồm cả thương mại và dự án mã nguồn mở). GIT hoàn toàn miễn phí, và có thể được tải về cho Mac, Linux, Windows và Solaris từ site chính thức (the official website). Một vài trong số các tính năng phổ biến của GIT là:
- Hệ thống quản lý phiên bản phân tán, GIT sử dụng cách tiếp cận peer to peer thay vì những hệ thống quản lý tập trung khác như Subversion (SVN), theo dạng client-server based model.
- GIT giúp lập trình viên tạo ra hàng loạt các branches code độc lập. Tạo, xóa, merge những branches này dễ dàng mà không mất thời gian.
- Trong GIT, tất cả các hành động đều ở dạng atomic; có nghĩa là một thành động có thể thất bại (không tạo ra thay đổi) hoặc thành công. Việc này rất quan trọng bởi vì trong một số hệ thống quản lý phiên bản (như CVS) thì nó hoạt động dưới dạng non-atomic, nếu một hệ thống quản trị respository bị treo, nó có thể khiến repository ở dạng không ổn định.
- Trong GIT, tất cả dữ liệu đều được lưu dưới folder .git. Không giống như một số hệ thống khác là SVN và CVS khi metadata của files được lưu dưới thư mục ẩn (ví dụ:. .cvs, .svn, etc.)
- GIT sử dụng data model có thể giúp đảm bảo tính toàn vẹn của dữ liệu chứa trong repository. Mỗi một file được thêm hoặc commit được thực hiện, checksums sẽ được tạo ra, tương tự, chúng được thu thập cũng qua việc checksums..
- Một tính năng tuyệt vời khác của GIT là staging area và index. Trong staging area, developers có thể format commits và xem qua nó trước khi thực sự áp dụng.
Rất đơn giản để sử dụng GIT. Để bắt đầu, bạn có thể tạo repository hoặc checkout một cái đã có sẵn. Sauk hi cài đặt, một lệnh đơn giản git-init sẽ giúp bạn cài đặt hết; ngược lại, git clone có thể tạo một bản copy của local repository cho người dùng.
Bước 1 – Cài đặt và sử dụng Git trên hệ thống khác nhau
Tiếp theo, cách dễ nhất để cài GIT trên các hệ điều hành khác nhau sẽ được hướng dẫn:
Lựa chọn 1 – Cài đặt GIT trên Windows:
Cài đặt trên Windows OS dễ nhất, chỉ cần tải và chạy file cài. Các bước cài đặt trên máy windows như sau:
- Truy cập trang này (this website) và tải phiên bản GIT for Windows installer.
- Khi hoàn tất,double click vào file thực thi cài đặt và bắt đầu quá trình cài đặt. Chỉ cần theo dõi các hướng dẫn trên màn hình, tiếp tục click vào nút Next và cuối cùng nhấn Finish để hoàn tất quá trình cài đặt.
- Mở command prompt và trong terminal, nhập lệnh sau:
git config --global user.name "John Smith" git config --global user.email "[email protected]"
Ghi chú: Hãy nhớ thay thế John Smith và [email protected] bằng thông tin của riêng bạn. Tất cả những commits tiếp theo sẽ liên quan đến những thông tin này.
Chỉ có vậy là có thể cài đặt GIT trên Windows.
Lựa chọn 2 – Cài đặt GIT trên MacOS:
Có nhiều cách để cài GIT trên thiết bị Mac, cũng có thể GIT đã có sẵn trên máy tính của bạn nếu bạn có XCODe được cài sẵn. Chạy lệnh sau để kiểm tra:
git --version
Nếu bạn nhận được output như là git version 2.7.0 (Apple Git-66), vậy là may mắn, nếu không, hãy thực hiện các bước sau::
- Truy cập website này this website và tải các phiên bản cài đặt mới nhất dành cho Mac
- Theo dõi các bước trên màn hình và hoàn tất cài đặt.
- Một lần nữa hãy dùng lệnh git –version để xác nhận cài đặt đã thành công.
- Chạy lệnh sau trên terminal để cấu hình email và username đã liên kết với tài khoản GIT của bạn:
git config --global user.name "John Smith" git config --global user.email "[email protected]"
Ghi chú: Hãy nhớ thay thế John Smith và [email protected] bằng thông tin của riêng bạn. Tất cả những commits tiếp theo sẽ liên quan đến những thông tin này.
Lựa chọn 3 – Cài đặt GIT trên Linux:
Nếu bạn là người dùng Linux, vậy là bạn có thể cài đặt phần mềm và package bằng lệnh apt-get hoặc yum install ; cài đặt GIT cũng không khác:
Cho người dùng Debian/Ubuntu (apt-get):
- Mở terminal và chạy lệnh sau:
Sudo apt-get update Sudo apt-get install git
- Xác nhận rằng bạn đã cài đặt thành công bằng cách sử dụng GIT command:
git --version.
- Chạy lệnh sau trên terminal để cấu hình hình liên kết với tài khoản GIT của bạn:
git config --global user.name "John Smith" git config --global user.email "[email protected]"
Ghi chú: Hãy nhớ thay thế John Smith và [email protected] bằng thông tin của riêng bạn. Tất cả những commits tiếp theo sẽ liên quan đến những thông tin này.
Fedora (yum/dnf):
Bạn có thể lấy backpack GIT bằng cách dùng lệnh yum và dnf.
- Mở terminal và chạy lệnh sau:
Sudo dnf install git Sudo yum install git
- Xác nhận rằng bạn đã cài đặt thành công bằng lệnh git –version.
- Chạy lệnh sau trên terminal để cấu hình hình liên kết với tài khoản GIT của bạn:
git config --global user.name "John Smith" git config --global user.email "[email protected]"
Ghi chú: Hãy nhớ thay thế John Smith và [email protected] bằng thông tin của riêng bạn. Tất cả những commits tiếp theo sẽ liên quan đến những thông tin này.
Bước 2 – Sử dụng GIT
Khi GIT đã được cài trên thiết bị Windows/Mac/Linux, hãy tìm hiểu cơ bản về GIT và xem làm thế nào người dùng có thể sử dụng GIT.
-
Tạo/Cài đặt/check out một repository:
Một repository là tài sản lớn nhất của một dự án quản lý phiên bản. Để chuyển bất kỳ thư mục nào thành GIT repository, một command đơn giản là git init <directory> là đủ để dùng. Folder có tên .git bắt đầu xuất hiện chung với thư mục mà bạn đã chạy lệnh trên.
Ngược lại, nếu bạn đã có một thư mục và muốn check out nó (clone nó), hãy dùng lệnh git clone. Nếu bạn muốn check out một repository local, sử dụng GIT command sau:
git clone /path/to/local/repository
Nếu bạn có ý định check một respository từ xa, sử dụng GIT command:
git clone user.name@host:/path/to/remote/repository
Nếu bạn có tài khoản trên TINET.VN, bạn có thể dễ dàng clone và quản lý repositories qua Members Area –> GIT. Ví dụ, nếu bạn muốn clone một GIT repository, chỉ cần điền địa chỉ, chọn branch, và cài đặt đường dẫn sau đó nhấn nút Create.
Khi quá trình cài đặt hoàn tất, bạn sẽ có thể quản lý repository trong cùng một section.
-
Workflow:
Bây giờ khi một repository đã được setup, hãy nói về cấu trúc nó được vận hành trên GIT. Mỗi một local repository bao gồm 3 cây chính: một working directorybao gồm các files thực sự; một index đóng vai trò của stating area và HEAD chứa một pointer tới lần commit cuối cùng của một người dùng. Vì vậy, đây là cách workflow có thể được giải thích: một người dùng thêm file hoặc thay đổi từ một thư mục đang hoạt động thành index (staging area), và khi được review, file hoặc thay đổi cuối cùng được commit lên HEAD.
-
Lệnh Add và Commit:
Thay đổi hoặc thêm file được thêm vào index bằng cách dùng lệnh add. Để thêm bất kỳ file nào, bạn chỉ cần dùng lệnh:
git add <file_name>
Nếu bạn thật sự yên tâm để thực hiện những thay đổi trên HEAD, bạn có thể dùng lệnh commit. Lệnh sau có thể giúp bạn làm việc này:
git commit –m “Add any message describing the commit here”
Ghi chú: Khi lệnh commit được chạy (từ thư mục đang hoạt động), files sẽ được commit tới HEAD, nhưng nó vẫn không được gửi tới repository từ xa.
-
Đẩy thay đổi xa hơn:
Khi bạn đã commit các thay đổi (và tin chắc nó sẳn sàng để gửi tới repository gốc), bạn có thể dùng lệnh push.
Khi git push origin master được thực thi từ bên trong thư mục đang hoạt động, thay đổi trong HEAD đã được gửi tới repository từ xa. Trong lệnh đã nói ở trên master có thể được thay đổi thành tên của branch bạn muốn đổi để được committed.
Nếu, tuy nhiên, một repository đang tồn tại chưa được clone và bạn muốn thiết lập kết nối giữa repository của bạn và remote server, làm vậy bằng lệnh sau:
git remote add origin <server>
Ghi chú: Thay <server> bằng địa chỉ của server từ xa.
Khi được clone, bất kỳ thay đổi nào được đẩy tới server thích hợp.
-
Branches:
Một tính năng tốt khác (nhưng cao cấp) của GIT là khả năng cho phép lập trình viên và quản lý dự án tạo các branches độc lập trong một dự án duy nhất. Mục đích chính của branch là để phát triển các tính năng trong khi cô lập chúng. Branch mặc định của một dự án bất kỳ luôn là master branch. Bạn có thể tạo nhiều branches bao nhiêu cũng được và sau đó merge lại với master branch.
Một branch mới có thể được tạo bằng cách dùng lệnh sau:
git checkout -b feature_n *
feature_n là tên của branch
Nếu chuyển về master branch chính là cần thiết, sử dụng git command sau:
git checkout master
Bất kỳ branch nào cũng có thể được xóa bởi lệnh sau:
git checkout -b feature_n
Để làm các branch hiện lên cho người dùng khác, bạn sẽ cần phải đẩy nó tới repository từ xa, để làm vậy, sử dụng git command sau:
git push origin feature_n
-
Cập nhật và merge:
Trong trường hợp bạn muốn cập nhật các thư mục đang hoạt động tới thư mục mới nhất từ repository từ xa, lệnh git pull cần được dùng.
Để merge một branch khác tới một branch hiện hành, hãy dùng: git merge feature_n.
Bất kỳ khi nào bạn pull hoặc merge, GIT luôn có thể thử tự sửa xung đột, nhưng đôi khi nó không thể. Trong trường hợp lỗi do xung đột, người dùng có thể sửa lỗi thủ công. Khi bạn đã sửa file (để tránh xung đột), đánh dấu merged bằng cách dùng lệnh:
git add <file.name>
Nếu trước merge, bạn muốn xem thay đổi thì dùng lệnh sau:
git diff <name_of_source_branch> <name_of_target_branch>
-
Tagging:
Trước khi xuất bản bản cập nhật/thay đổi của phần mềm, chúng tôi khuyên là luôn nên tạo tag. Để làm việc này, hãy dùng lệnh:
git tag 1.1.0 1c2d2d56fa
1c2d2d56fa trong lệnh trên nói đến 10 ký tự đầu tiên của commit-id mà liên quan đến tag. Commit ID có thể được tìm thấy trong log.
-
Log:
Lịch sử repository có thể được xem qua log. Lệnh git log có thể trích xuất nó. Để lấy commits của một user, bạn có thể dùng:
git log --author =Smith
Một phiên bản nén của log (một commit trên dòng) có thể được xem tại:
git log --pretty=oneline
Để xem các files nào đã thay đổi:
git log --name-status
-
Thay thế local changes:
Nếu vì lý do nào mà bạn làm rối tung lên và muốn quay ngược lại trước khi có thay đổi, bạn có thể làm vậy bằng lệnh:
git checkout -- <filename>
Làm vậy sẽ thay thế những thay đổi với dữ liệu có trong HEAD. Bất kỳ thay đổi nào đã được thêm vào trong index sẽ không bị hỏng.
Ngược lại, nếu tất cả thay đổi/commits local cần được loại bỏ và local master branch cần dùng bản mới nhất của server, chạy lệnh sau:
git fetch origin git reset --hard origin/master
Kết luận
Trong sự phức tạp của một dự án phần mềm, việc có một thực thể lo mọi chuyện về quản lý code thì đáng an tâm hơn rất nhiều. Bài hướng dẫn cơ bản về có thể giúp lập trình viên bắt đầu, một hệ thống quản lý phiên bản tối quan trọng, với cực nhiều ính năng. Nếu bạn cần tìm hiểu thêm, hãy xem qua bài hướng dẫn chính thức về nó tại: official GIT documentation
Write a Comment
You must be logged in to post a comment.