Git là một hệ thống quản lý phiên bản phổ biến được sử dụng rộng rãi trong công việc phát triển phần mềm và quản lý mã nguồn.
Git giúp các nhà phát triển làm việc cùng nhau trên cùng một dự án, theo dõi lịch sử thay đổi của mã nguồn, và giải quyết xung đột một cách hiệu quả.
Đọc thêm: Git là gì? Tổng quan về Git cơ bản cho lập trình viên
Những lệnh Git là những công cụ cơ bản giúp bạn quản lý và làm việc với mã nguồn trong dự án của bạn một cách hiệu quả. Hiểu cách sử dụng chúng có thể giúp bạn kiểm soát và theo dõi lịch sử thay đổi của mã nguồn dễ dàng hơn.
Sau đây tôi xin giới thiệu một số lệnh Git cơ bản và định nghĩa của chúng. Hi vọng chúng sẽ giúp ích cho bạn.
1. git init là gì?
git init
dùng để khởi tạo một repository Git mới hoặc để bắt đầu quản lý phiên bản mã nguồn của một dự án từ đầu. Khi bạn chạy git init
, Git sẽ tạo ra một thư mục .git
ẩn trong thư mục dự án của bạn, chứa toàn bộ hệ thống quản lý phiên bản Git và lịch sử thay đổi.
Dưới đây là cách sử dụng git init
:
- Để tạo một repository Git mới từ đầu, bạn di chuyển đến thư mục dự án của bạn trong dòng lệnh.
- Sau đó, chạy lệnh
git init <tên_project>
để tạo Git project.
2. git add là gì?
git add
là một trong những lệnh quan trọng trong Git, được sử dụng để thêm (add) các tệp hoặc thư mục đã thay đổi vào vùng chờ (staging area) để chuẩn bị cho việc tạo commit. Cụ thể:
git add [tên-tệp]
: Sử dụng để thêm một tệp cụ thể vào vùng chờ. Ví dụ:git add myfile.txt
.git add .
hoặcgit add *
: Sử dụng để thêm tất cả các tệp và thư mục đã thay đổi trong thư mục hiện tại vào vùng chờ.git add -u
hoặcgit add --update
: Sử dụng để thêm tất cả các tệp đã thay đổi (nhưng không bao gồm các tệp mới) vào vùng chờ.
Lệnh git add
cho phép bạn chọn cẩn thận những thay đổi cụ thể mà bạn muốn đưa vào commit. Sau khi bạn đã thêm các thay đổi vào vùng chờ, bạn có thể sử dụng git commit
để tạo một commit mới với các thay đổi này. Điều này cho phép bạn tạo ra các commit chính xác với những thay đổi bạn muốn bao gồm, giúp quản lý lịch sử phiên bản của mã nguồn một cách cẩn thận.
3. git commit là gì?
git commit
được sử dụng để tạo một "commit," tức là một phiên bản (snapshot) của mã nguồn của bạn tại một thời điểm cụ thể.
Mỗi commit bao gồm các thay đổi mới được thực hiện trên mã nguồn từ lần commit trước đó cùng với một thông điệp mô tả về những thay đổi đó.
Cú pháp cơ bản của lệnh git commit
là:
Mô tả commit cần rõ ràng, ngắn gọn, chỉ ra lý do của sự thay đổi và sử dụng tag như feat
, fix
, refactor
, docs
, ...
Ví dụ
4. git push là gì?
git push
được sử dụng để đẩy (push) các commit và thay đổi từ máy tính của bạn lên một remote repository, thường là một dịch vụ như GitHub, GitLab, hoặc một máy chủ Git từ xa. Lệnh này có nhiệm vụ cập nhật repository từ xa với các thay đổi mới nhất từ nhánh hiện tại của bạn.
Cú pháp cơ bản của git push
là:
tên-remote
thường là tên của repository từ xa, thường là "origin" nếu bạn đã sao chép dự án từ một repository từ xa như GitHub.tên-nhánh
là tên của nhánh bạn muốn đẩy lên repository từ xa. Thông thường, bạn sẽ đẩy lên một nhánh cụ thể, chẳng hạn như "main" hoặc "develop."
5. git pull là gì?
git pull
là một lệnh trong Git được sử dụng để cập nhật mã nguồn của bạn từ repository từ xa, thường là một repository trên mạng như GitHub hoặc GitLab. Lệnh này có nhiệm vụ gộp (merge) các thay đổi từ repository từ xa vào branch hiện tại của bạn và đồng thời tải về bất kỳ thay đổi mới nào từ repository từ xa.
Cú pháp cơ bản của git pull
là:
git pull [tên-remote] [tên-nhánh-từ-remote]
Khi bạn chạy git pull
, Git sẽ kết nối đến repository từ xa đã được cấu hình (thông thường là origin
nếu bạn đã sao chép dự án từ repository trên mạng), và tải về các thay đổi từ nhánh được chỉ định trên repository từ xa.
Sau khi tải về thay đổi từ repository từ xa, Git sẽ tự động thực hiện thao tác gộp (merge) để kết hợp các thay đổi này vào branch hiện tại của bạn. Trong trường hợp xảy ra xung đột (conflict), bạn sẽ cần giải quyết xung đột trước khi commit.
6. git checkout là gì?
git checkout
được sử dụng để thực hiện nhiều chức năng khác nhau, như chuyển đổi giữa các nhánh, tạo nhánh mới, hoặc thay đổi trạng thái làm việc với file. Cụ thể:
- Chuyển đổi giữa các nhánh: Khi bạn chạy
git checkout
với tên branch, ví dụ:git checkout main
, bạn đang chuyển đổi từ một branch sang nhánh khác. Điều này cho phép bạn làm việc trên một branch cụ thể của dự án. - Tạo nhánh mới và chuyển đổi đến nhánh đó: Bạn có thể tạo và chuyển đến một branch mới trong một lần chạy lệnh bằng cách sử dụng
git checkout -b [tên-nhánh]
. Ví dụ:git checkout -b feature-branch
tạo một nhánh mới có tên "feature-branch" và chuyển đến branch này. - Chuyển đổi đến phiên bản cụ thể: Bạn có thể sử dụng
git checkout
để chuyển đổi đến một phiên bản cụ thể của file hoặc folder trong lịch sử commit. Ví dụ:git checkout [commit-hash] [tên-tệp]
sẽ khôi phục file đó từ commit cụ thể. - Chuyển đổi giữa trạng thái làm việc với file: Nếu bạn đã sử dụng
git add
để đưa tệp vào vùng chờ và muốn hoàn tác (unstage) chúng, bạn có thể sử dụnggit checkout -- [tên-tệp]
để loại bỏ tệp đó khỏi vùng chờ. - Chuyển đổi đến thẻ (tags): Bạn cũng có thể sử dụng
git checkout
để chuyển đổi đến một thẻ cụ thể (tag) trong dự án, giống như bạn chuyển đổi đến một commit cụ thể.
7. git gui là gì?
Git GUI là viết tắt của "Git Graphical User Interface", đây là một loại phần mềm hoặc ứng dụng đồ họa được thiết kế để cung cấp giao diện người dùng đồ họa cho việc quản lý và sử dụng Git, hệ thống quản lý phiên bản mã nguồn phổ biến.
Một Git GUI cho phép người dùng thực hiện các thao tác Git mà không cần sử dụng dòng lệnh hoặc dòng lệnh terminal. Thay vì nhập các lệnh Git như git commit
, git push
, hoặc git pull
vào terminal, người dùng có thể sử dụng giao diện đồ họa để thực hiện các tác vụ này bằng cách nhấp chuột và tương tác với các biểu đồ, danh sách thay đổi, và nút bấm.
Các tính năng phổ biến của Git GUI bao gồm:
- Xem lịch sử commit: Hiển thị danh sách các commit và thông tin chi tiết về từng commit.
- Quản lý nhánh: Tạo, xóa, chuyển đổi và hợp nhất các nhánh dự án.
- Thêm và loại bỏ tệp: Thêm các tệp và thư mục vào vùng chờ (staging area) và thực hiện commit.
- Xử lý xung đột: Giải quyết xung đột khi hợp nhất các thay đổi từ nhiều nguồn.
- Push và Pull: Thực hiện các thao tác push (đẩy) và pull (kéo) với kho lưu trữ từ xa.
- Xem biểu đồ commit: Hiển thị biểu đồ commit để theo dõi lịch sử thay đổi của dự án.
Một số Git GUI phổ biến bao gồm SourceTree, GitKraken, GitHub Desktop và TortoiseGit (cho Windows). Git GUI là một công cụ hữu ích đặc biệt đối với những người mới sử dụng Git hoặc người dùng muốn tận dụng sức mạnh của Git mà không cần học các lệnh dòng lệnh cơ bản.
8. git scm là gì?
Git SCM
là viết tắt của "Git Source Code Management" Đây là một thuật ngữ được sử dụng để ám chỉ quá trình quản lý và kiểm soát mã nguồn trong dự án phát triển phần mềm bằng cách sử dụng hệ thống quản lý phiên bản Git.
Hệ thống quản lý phiên bản (VCS) như Git giúp theo dõi và lưu trữ lịch sử thay đổi của mã nguồn trong một dự án. Nó cho phép các nhà phát triển làm việc cùng nhau trên cùng một dự án, theo dõi các phiên bản mã nguồn, giải quyết xung đột và quản lý mã nguồn một cách hiệu quả.
Ví dụ, khi các nhà phát triển làm việc trên một dự án phát triển phần mềm sử dụng Git SCM, họ có thể:
- Tạo các phiên bản (commit) của mã nguồn và ghi chú mô tả cho từng phiên bản để hiểu rõ các thay đổi đã thực hiện.
- Theo dõi và quản lý các nhánh làm việc khác nhau của dự án để phát triển tính năng hoặc sửa lỗi.
- Hợp nhất (merge) các thay đổi từ nhiều nguồn khác nhau vào phiên bản chính của dự án.
- Giải quyết xung đột xảy ra khi nhiều người cùng chỉnh sửa cùng một phần của mã nguồn.
- Theo dõi sự phát triển của dự án qua thời gian và tạo phiên bản ổn định để triển khai.
Git, với các lệnh mạnh mẽ và linh hoạt của mình, đã trở thành một công cụ không thể thiếu trong quy trình phát triển phần mềm hiện đại. Từ việc khởi tạo một kho lưu trữ mới, commit thay đổi, đến việc kiểm soát các phiên bản và hợp nhất nhánh, Git giúp chúng ta quản lý dự án một cách hiệu quả và minh bạch.
Hiểu rõ và sử dụng thành thạo các lệnh Git không chỉ giúp bạn làm việc một cách linh hoạt hơn, mà còn tạo điều kiện cho sự hợp tác và phát triển chung. Hãy tiếp tục khám phá và tận dụng sức mạnh của Git để nâng cao chất lượng sản phẩm của bạn.
Bạn hãy thường xuyên theo dõi các bài viết hay về Lập Trình & Dữ Liệu trên 200Lab Blog nhé. Cũng đừng bỏ qua những khoá học Lập Trình tuyệt vời trên 200Lab nè.
Một vài bài viết mới bạn sẽ thích:
Git là gì? Tổng quan về Git cơ bản cho lập trình viên
Git là gì? Tổng quan về Git cơ bản cho lập trình viên
Bitbucket là gì? GitHub là gì? So sánh Bitbucket và GitHub
Cách giải quyết lỗi password authentication Github
Mobile & Web UI Kit For Flutter (100+ screens)
Bài viết liên quan
Cursor AI là gì? Hướng dẫn Sử dụng Cursor AI cơ bản
Sep 16, 2024 • 13 min read
IDE là gì? Những công cụ IDE phổ biến nhất hiện nay
Aug 22, 2024 • 10 min read
Cookies là gì? Cookies được sử dụng như thế nào?
Aug 12, 2024 • 9 min read
SDLC là gì? Các mô hình Software Development Life Cycle phổ biến
Jul 13, 2024 • 27 min read
System Design là gì? Tại sao Thiết kế hệ thống lại quan trọng với Developer?
Jun 17, 2024 • 10 min read
Copilot là gì ? Hướng dẫn sử dụng Trợ lý AI của Microsoft
May 31, 2024 • 7 min read