Lệnh git trong linux

Khám phá thế giới Git: Hướng dẫn chi tiết các lệnh Git cơ bản trong Linux

Chào mừng bạn đến với thế giới của Git! Nếu bạn là một lập trình viên, hoặc đơn giản là muốn quản lý các dự án của mình một cách hiệu quả, thì Git là một công cụ không thể thiếu. Bài viết này sẽ cung cấp cho bạn một cái nhìn tổng quan về các lệnh Git cơ bản trong môi trường Linux, giúp bạn bắt đầu hành trình làm chủ hệ thống quản lý phiên bản mạnh mẽ này.

Trong bài viết này, chúng ta sẽ cùng nhau khám phá những lệnh Git quan trọng nhất, từ việc khởi tạo một kho lưu trữ (repository) mới, theo dõi các thay đổi, đến việc tạo nhánh và hợp nhất chúng. Chúng ta cũng sẽ tìm hiểu cách làm việc với kho lưu trữ từ xa (remote repository) như GitHub hoặc GitLab để cộng tác với những người khác. Hãy cùng bắt đầu nhé!

Git là gì và tại sao bạn nên sử dụng nó?

Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System - DVCS) được thiết kế để theo dõi các thay đổi trong mã nguồn trong quá trình phát triển phần mềm. Nó cho phép nhiều người cùng làm việc trên một dự án mà không lo xung đột, đồng thời giúp bạn dễ dàng quay lại các phiên bản trước đó nếu cần.

Vậy tại sao Git lại quan trọng? Hãy tưởng tượng bạn đang viết một bài luận lớn và bạn muốn lưu lại các phiên bản khác nhau của nó. Thay vì tạo nhiều bản sao của file, bạn có thể sử dụng Git để theo dõi các thay đổi. Git sẽ lưu lại các thay đổi (commits) mà bạn thực hiện, giúp bạn dễ dàng quay lại bất kỳ phiên bản nào trước đó. Điều này đặc biệt hữu ích khi bạn mắc lỗi hoặc muốn thử nghiệm các ý tưởng mới mà không sợ làm hỏng phiên bản hiện tại.

Ngoài ra, Git còn giúp bạn dễ dàng cộng tác với người khác. Bạn có thể chia sẻ dự án của mình với người khác thông qua các kho lưu trữ từ xa như GitHub hoặc GitLab. Mọi người có thể đóng góp vào dự án của bạn bằng cách tạo các nhánh (branches), thực hiện các thay đổi và gửi yêu cầu hợp nhất (pull requests). Git sẽ giúp bạn quản lý các thay đổi này một cách hiệu quả.

Các lệnh Git cơ bản trong Linux

Dưới đây là một số lệnh Git cơ bản mà bạn cần biết để bắt đầu sử dụng Git trong Linux:

1. git init: Khởi tạo một kho lưu trữ Git mới

Lệnh git init được sử dụng để khởi tạo một kho lưu trữ Git mới trong một thư mục hiện tại. Khi bạn chạy lệnh này, Git sẽ tạo một thư mục ẩn .git trong thư mục hiện tại, nơi chứa tất cả các thông tin về kho lưu trữ Git của bạn.

Ví dụ:

git init

Sau khi chạy lệnh này, bạn sẽ thấy một thông báo tương tự như sau:

Initialized empty Git repository in /path/to/your/project/.git/

2. git clone: Sao chép một kho lưu trữ Git từ xa

Lệnh git clone được sử dụng để sao chép một kho lưu trữ Git từ xa (ví dụ: từ GitHub hoặc GitLab) về máy tính của bạn. Điều này cho phép bạn làm việc trên dự án một cách cục bộ và sau đó đẩy các thay đổi của bạn lên kho lưu trữ từ xa.

Ví dụ:

git clone https://github.com/username/repository.git

Lệnh này sẽ sao chép kho lưu trữ repository từ tài khoản username trên GitHub về thư mục hiện tại của bạn.

3. git add: Thêm các thay đổi vào khu vực staging

Trước khi bạn có thể commit các thay đổi của mình, bạn cần phải thêm chúng vào khu vực staging (staging area). Khu vực staging là một khu vực trung gian giữa thư mục làm việc của bạn và kho lưu trữ Git. Lệnh git add được sử dụng để thêm các thay đổi vào khu vực staging.

Ví dụ:

git add file1.txt file2.txt

Lệnh này sẽ thêm các thay đổi trong file1.txt và file2.txt vào khu vực staging.

Bạn cũng có thể sử dụng lệnh git add . để thêm tất cả các thay đổi trong thư mục hiện tại vào khu vực staging.

4. git commit: Lưu các thay đổi vào kho lưu trữ Git

Lệnh git commit được sử dụng để lưu các thay đổi từ khu vực staging vào kho lưu trữ Git. Mỗi commit đại diện cho một phiên bản cụ thể của dự án của bạn.

Ví dụ:

git commit -m "Thêm tính năng mới"

Lệnh này sẽ commit các thay đổi trong khu vực staging với thông báo "Thêm tính năng mới". Thông báo commit nên mô tả ngắn gọn và rõ ràng những thay đổi mà bạn đã thực hiện.

5. git status: Kiểm tra trạng thái của kho lưu trữ Git

Lệnh git status được sử dụng để kiểm tra trạng thái của kho lưu trữ Git của bạn. Nó cho bạn biết những file nào đã được sửa đổi, những file nào đã được thêm vào khu vực staging và những file nào chưa được theo dõi.

Ví dụ:

git status

Kết quả của lệnh này sẽ cho bạn biết trạng thái hiện tại của kho lưu trữ Git của bạn.

6. git log: Xem lịch sử commit

Lệnh git log được sử dụng để xem lịch sử commit của kho lưu trữ Git của bạn. Nó hiển thị thông tin về mỗi commit, bao gồm hash commit, tác giả, ngày tháng và thông báo commit.

Ví dụ:

git log

Bạn có thể sử dụng các tùy chọn khác nhau với lệnh git log để lọc và định dạng kết quả.

7. git branch: Tạo, liệt kê và xóa các nhánh

Nhánh (branch) là một con trỏ đến một commit cụ thể trong kho lưu trữ Git của bạn. Nó cho phép bạn làm việc trên các tính năng mới hoặc sửa lỗi mà không ảnh hưởng đến nhánh chính (thường là nhánh main hoặc master).

Lệnh git branch được sử dụng để tạo, liệt kê và xóa các nhánh.

Ví dụ:

  • git branch: Liệt kê tất cả các nhánh trong kho lưu trữ.
  • git branch new-feature: Tạo một nhánh mới có tên là new-feature.
  • git branch -d new-feature: Xóa nhánh new-feature.

8. git checkout: Chuyển đổi giữa các nhánh

Lệnh git checkout được sử dụng để chuyển đổi giữa các nhánh. Khi bạn chuyển đổi sang một nhánh khác, Git sẽ cập nhật thư mục làm việc của bạn để phản ánh trạng thái của nhánh đó.

Ví dụ:

git checkout new-feature

Lệnh này sẽ chuyển đổi sang nhánh new-feature.

9. git merge: Hợp nhất các nhánh

Lệnh git merge được sử dụng để hợp nhất các thay đổi từ một nhánh vào một nhánh khác. Ví dụ, bạn có thể hợp nhất các thay đổi từ nhánh new-feature vào nhánh main sau khi bạn đã hoàn thành việc phát triển tính năng mới.

Ví dụ:

git checkout main
  git merge new-feature

Lệnh này sẽ hợp nhất các thay đổi từ nhánh new-feature vào nhánh main.

10. git push: Đẩy các thay đổi lên kho lưu trữ từ xa

Lệnh git push được sử dụng để đẩy các thay đổi từ kho lưu trữ cục bộ của bạn lên kho lưu trữ từ xa. Điều này cho phép bạn chia sẻ các thay đổi của mình với những người khác.

Ví dụ:

git push origin main

Lệnh này sẽ đẩy các thay đổi từ nhánh main của kho lưu trữ cục bộ của bạn lên nhánh main của kho lưu trữ từ xa có tên là origin.

11. git pull: Kéo các thay đổi từ kho lưu trữ từ xa

Lệnh git pull được sử dụng để kéo các thay đổi từ kho lưu trữ từ xa về kho lưu trữ cục bộ của bạn. Điều này cho phép bạn cập nhật kho lưu trữ cục bộ của mình với những thay đổi mới nhất từ những người khác.

Ví dụ:

git pull origin main

Lệnh này sẽ kéo các thay đổi từ nhánh main của kho lưu trữ từ xa có tên là origin về nhánh main của kho lưu trữ cục bộ của bạn.

Ví dụ thực tế

Dưới đây là một ví dụ về cách sử dụng các lệnh Git cơ bản để phát triển một tính năng mới:

  1. Khởi tạo một kho lưu trữ Git mới: git init
  2. Tạo một nhánh mới cho tính năng mới: git branch new-feature
  3. Chuyển đổi sang nhánh mới: git checkout new-feature
  4. Thực hiện các thay đổi để phát triển tính năng mới.
  5. Thêm các thay đổi vào khu vực staging: git add .
  6. Commit các thay đổi: git commit -m "Thêm tính năng mới"
  7. Chuyển đổi lại sang nhánh chính: git checkout main
  8. Hợp nhất các thay đổi từ nhánh mới vào nhánh chính: git merge new-feature
  9. Đẩy các thay đổi lên kho lưu trữ từ xa: git push origin main

So sánh một số lệnh Git thường dùng

Lệnh Mô tả Ví dụ
git add Thêm các thay đổi vào khu vực staging. git add . (thêm tất cả các thay đổi)
git commit Lưu các thay đổi vào kho lưu trữ Git. git commit -m "Sửa lỗi"
git push Đẩy các thay đổi lên kho lưu trữ từ xa. git push origin main
git pull Kéo các thay đổi từ kho lưu trữ từ xa. git pull origin main

FAQ (Câu hỏi thường gặp)

1. Làm thế nào để hủy một commit?

Bạn có thể sử dụng lệnh git revert để tạo một commit mới hoàn tác các thay đổi của commit được chỉ định. Hoặc sử dụng git reset --hard để quay lại commit đó (cần cẩn thận vì có thể mất dữ liệu).

2. Làm thế nào để giải quyết xung đột khi hợp nhất nhánh?

Khi có xung đột xảy ra, Git sẽ đánh dấu các khu vực xung đột trong file. Bạn cần mở file đó, chỉnh sửa để giải quyết xung đột, sau đó thêm file đã chỉnh sửa vào khu vực staging và commit.

3. Làm thế nào để xem sự khác biệt giữa hai commit?

Bạn có thể sử dụng lệnh git diff để xem sự khác biệt giữa hai commit.

Kết luận

Git là một công cụ mạnh mẽ và linh hoạt, giúp bạn quản lý phiên bản code hiệu quả và cộng tác với người khác một cách dễ dàng. Hy vọng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan về các lệnh Git cơ bản trong Linux. Hãy thực hành thường xuyên để làm quen với Git và khám phá thêm các tính năng nâng cao của nó. Chúc bạn thành công!

Last Updated : 21/08/2025