Trang chủ » Thủ thuật - Phần mềm » Git là gì? Giới thiệu về Git và cách sử dụng Git?
Thủ thuật - Phần mềm
Git là gì? Giới thiệu về Git và cách sử dụng Git?
25/05/2024
Git là một Hệ thống kiểm soát phiên bản phân tán mã nguồn mở . Hiện tại có rất nhiều từ ngữ định nghĩa về Git và hãy để mình chia nhỏ và giải thích từng từ ngữ:.
Hệ thống điều khiển: Về cơ bản, điều này có nghĩa là Git là một trình theo dõi nội dung. Vì vậy, Git có thể được sử dụng để lưu trữ nội dung - nó chủ yếu được sử dụng để lưu trữ mã do các tính năng khác mà nó cung cấp.
Hệ thống kiểm soát phiên bản: Mã được lưu trữ trong Git liên tục thay đổi khi có thêm mã. Ngoài ra, nhiều nhà phát triển có thể thêm mã song song. Vì vậy, Hệ thống kiểm soát phiên bản giúp xử lý vấn đề này bằng cách duy trì lịch sử về những thay đổi đã xảy ra. Ngoài ra, Git còn cung cấp các tính năng như phân nhánh và hợp nhất mà tôi sẽ đề cập sau.
Hệ thống kiểm soát phiên bản phân tán: Git có một Repository từ xa được lưu trữ trong máy chủ và một Repository cục bộ được lưu trữ trong máy tính của mỗi nhà phát triển. Điều này có nghĩa là mã không chỉ được lưu trữ trong máy chủ trung tâm mà bản sao đầy đủ của mã còn có trong tất cả máy tính của nhà phát triển. Git là Hệ thống kiểm soát phiên bản phân tán vì mã có trong máy tính của mọi nhà phát triển. Tôi sẽ giải thích khái niệm về Repository từ xa và cục bộ ở phần sau của bài viết này.
Tại sao cần có Hệ thống kiểm soát phiên bản như Git
Các dự án thực tế thường có nhiều lập trình viên làm việc song song. Vì vậy cần có một hệ thống kiểm soát phiên bản như Git để đảm bảo không có xung đột mã giữa các nhà phát triển.
Ngoài ra, các yêu cầu trong các dự án như vậy thường xuyên thay đổi. Vì vậy, hệ thống kiểm soát phiên bản cho phép các nhà phát triển hoàn nguyên và quay lại phiên bản mã cũ hơn.
Cuối cùng, đôi khi một số dự án đang chạy song song có cùng một cơ sở mã. Trong trường hợp như vậy, khái niệm phân nhánh trong Git là rất quan trọng.
Cách sử dụng Git
Thay vì đề cập đến tất cả các khái niệm cùng một lúc, tôi sẽ giải thích các khái niệm về Git thông qua một ví dụ để dễ theo dõi hơn.
Tải xuống Git
Liên kết này có chi tiết về cách cài đặt Git trên nhiều hệ điều hành:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Xác minh xem Git đã được cài đặt chưa bằng cách sử dụng lệnh sau trong dấu nhắc lệnh:
git --version
Tạo kho lưu trữ Git cục bộ của bạn
Trong máy tính của bạn, tạo một thư mục cho dự án của bạn. Hãy gọi thư mục dự án simple-git-demo.
Đi vào thư mục dự án của bạn và thêm Repository local vào dự án bằng các lệnh sau:
cd simple-git-demo
git init
Lệnh git initthêm Repository Git cục bộ vào dự án.
Thêm một số Source Code
Tạo một tệp có tên demo.txt trong thư mục dự án và thêm văn bản sau vào đó:
Initial Content
Ở đây chúng ta sẽ demo chỉ bằng văn bản thuần túy thay vì mã thực tế, vì trọng tâm chính của bài viết này là về Git chứ không phải bất kỳ ngôn ngữ lập trình cụ thể nào.
Staging và Committing dữ liệu
Commit là quá trình trong đó mã được thêm vào Repository cục bộ (local repository). Trước khi Commit, Code phải nằm trong khu vực tổ chức (staging area). Khu vực tổ chức ở đó để theo dõi tất cả các tệp sẽ được cam kết.
Bất kỳ tệp nào không được thêm vào khu vực tổ chức sẽ không được Commit. Điều này cho phép nhà phát triển kiểm soát những tệp nào cần được Commit.
Staging
Sử dụng lệnh sau để Staging tệp:
git add demo.txt
Trong trường hợp bạn muốn thêm nhiều file, bạn có thể sử dụng:
git add file1 file2 file3
Nếu bạn muốn thêm tất cả các tệp trong thư mục dự án của mình vào khu vực tổ chức, hãy sử dụng lệnh sau:
git add .
Hãy sử dụng tính năng này một cách cẩn thận vì nó sẽ thêm tất cả các tệp và thư mục trong dự án của bạn vào khu vực tổ chức.
Commit
Sử dụng lệnh sau để Commit tệp:
git commit -m "Initial Commit"
“Initial Commit” là thông báo commit ở đây. Nhập thông báo commit có liên quan để cho biết những thay đổi mã nào đã được thực hiện trong commit cụ thể đó.
Trạng thái Git và Nhật ký Git (Git Status và Git Log)
Bây giờ hãy sửa đổi demo.txt tệp và thêm đoạn mã sau:
Initial Content Adding more Content
Status
Sử dụng git status để tìm hiểu thông tin liên quan đến những tập tin nào được sửa đổi và những tập tin nào có trong khu vực tổ chức - nó cũng hiển thị những thông tin khác mà hiện tại chúng ta có thể bỏ qua.
Sử dụng lệnh sau để xem trạng thái:
git status
Trạng thái cho thấy demo.txtđã được sửa đổi và chưa có trong khu vực tổ chức.
Bây giờ chúng ta hãy thêm demo.txt vào khu vực tổ chức và commit nó bằng các lệnh sau:
git add demo.txt git commit -m "demo.txt file is modified"
Log
Sử dụng git logđể in ra tất cả các cam kết đã được thực hiện cho đến thời điểm hiện tại.
Lệnh được sử dụng cho việc này là:
git log
Nhật ký hiển thị tác giả của từng cam kết, ngày thực hiện cam kết và thông báo cam kết.
Branches
Cho đến bây giờ chúng ta chưa tạo bất kỳ nhánh nào trong Git. Theo mặc định, Git cam kết đi vào nhánh chính.
Branches là gì?
Một nhánh(Branches) không là gì ngoài một con trỏ tới cam kết mới nhất trong kho Git. Vì vậy, hiện tại nhánh chính của chúng ta là một con trỏ tới lần xác nhận thứ hai “demo.txt file is modified”.
Tại sao cần nhiều Branches?
Cần có nhiều Branches để hỗ trợ nhiều sự phát triển song song. Tham khảo hình ảnh bên dưới để biết các nhánh hoạt động như thế nào.

Ban đầu, commit 1 và commit 2 được thực hiện trong nhánh chính (master branch). Sau commit 2, một Nhánh mới có tên là “Test” được tạo và commit 3 và commit 4 được thêm vào nhánh "Test".
Đồng thời, một commit 3 và commit 4 khác được thêm vào nhánh chính. Ở đây chúng ta có thể thấy rằng sau Commit 2, hai sự phát triển song song đang được thực hiện ở 2 nhánh riêng biệt.
Nhánh “Test” và Nhánh Chính "master branch" đã phân tách ở đây và có mã khác nhau - mã từ Nhánh “Test” có thể được hợp nhất với nhánh Chính "master branch" bằng cách sử dụng git merge. Điều này sẽ được đề cập sau.
Tạo một nhánh mới trên Local
Tạo một nhánh mới có tên test bằng lệnh sau:
git branch test
Lệnh này tạo nhánh test.
Chúng ta vẫn đang ở trong bối cảnh của nhánh chính. Để chuyển sang chi test nhánh. sử dụng lệnh sau:
git checkout test
Bây giờ chúng ta đang ở trong nhánh test.
Bạn có thể liệt kê tất cả các nhánh ở Local bằng lệnh sau:
git branch
Thực hiện một số commit tại chi nhánh mới
Sửa đổi demo.txt bằng cách thêm đoạn mã sau:
Initial Content Adding more Content Adding some Content from test Branch
Sau đó, chúng ta sẽ thực hiện staging và commit bằng cách sử dụng lệnh sau:
git add demo.txt git commit -m "Test Branch Commit"
Commit này đã được thực hiện trong Nhánh "Test" và nhánh test hiện đang hơn nhánh master 1 commit - vì nhánh test cũng bao gồm 2 commit từ nhánh chính.
Bạn có thể xác minh lịch sử commit trong nhánh Test bằng cách sử dụng:
git log
Gộp nhánh (Merging)
Hiện tại, nhánh Test đang dẫn trước Master 1 lần Commit. Giả sử bây giờ chúng ta muốn tất cả mã trong Nhánh Test được đưa trở lại Nhánh Chính. Ở đây chúng ta sẽ cần đến git merge.
Để hợp nhất mã từ nhánh Test vào nhánh chính Master, hãy làm theo các bước sau:
Đầu tiên quay trở lại nhánh chính:
git checkout master
Sau đó chạy lệnh merge:
git merge test
Sau khi chạy 2 lệnh này, việc hợp nhất sẽ thành công. Trong ví dụ này, không có xung đột.
Nhưng trong các dự án thực tế, sẽ có xung đột khi thực hiện việc hợp nhất. Giải quyết xung đột dữ liệu chúng ta sẽ cần có kinh nghiệm, vì vậy khi bạn làm việc nhiều hơn với Git, bạn sẽ có thể hiểu rõ hơn về việc giải quyết xung đột.
Chạy git log ngay bây giờ và bạn sẽ nhận thấy rằng master cũng có 3 lần xác nhận.
Kho lưu trữ Git từ xa (Git Repository)
Cho đến thời điểm hiện tại, chúng ta chỉ làm việc trong Repository cục bộ (local repository). Mỗi nhà phát triển sẽ làm việc trong Repository cục bộ của họ nhưng cuối cùng, họ sẽ đẩy mã vào Repository từ xa. Sau khi mã nằm trong Repository từ xa, các nhà phát triển khác có thể xem và sửa đổi mã đó.

GitHub
Ở đây chúng ta sẽ sử dụng GitHub cho Repository từ xa.
Truy cập https://github.com/ và tạo một tài khoản.
Sau khi đăng ký trên trang chủ GitHub, nhấp vào Bắt đầu dự án ( Start a Project) để tạo repository mới. Đặt tên cho repository và nhấp vào “Create Repository”
Đặt tên là git-blog-demo.
Thao tác này sẽ tạo một Repository từ xa trong GitHub và khi bạn mở Repository, một trang như hình ảnh bên dưới sẽ mở ra:
git remote add origin [repository url]
URL Repository là phần được đánh dấuhttps://github.com/aditya-sridhar/git-blog-demo.git
Để trỏ Repository cục bộ của bạn tới Repository từ xa, hãy sử dụng lệnh sau:

Git Push
Để đẩy tất cả mã từ Repository cục bộ vào Repository từ xa, hãy sử dụng lệnh sau:
git push -u origin master
Thao tác này sẽ đẩy mã từ nhánh chính trong Repository cục bộ sang nhánh chính trong Repository từ xa.
Lệnh bổ sung
Git PULL
Git pull được sử dụng để kéo những thay đổi mới nhất từ Repository từ xa vào Repository cục bộ. Mã Repository từ xa được nhiều nhà phát triển cập nhật liên tục, do đó git pull cần thiết:
git pull origin master
Git Clone
Git Clone được sử dụng để sao chép Repository từ xa hiện có vào máy tính của bạn. Lệnh cho việc này là:
git clone [repository url]
Xin chúc mừng. Và bây giờ bạn đã biết những điều cơ bản về cách sử dụng Git, bạn hãy tiếp tục và khám phá thêm về Git ở link phía dưới nhé!
Hướng dẫn tạo và sử dụng SSH Key với Gitlab và Github
Bài viết liên quan
20:07 . 02/05/2024
12:02 . 17/12/2023
09:52 . 12/11/2023
08:44 . 12/11/2023
15:05 . 06/08/2022
09:53 . 16/06/2022
06:17 . 03/06/2022
06:03 . 03/06/2022
22:06 . 02/06/2022
Hỗ trợ
Thanh toán
Tuyển dụng
Liên hệ

















