Tổng Hợp Các Lệnh Git Cần Biết Cho Lập Trình Viên
Git là một công cụ quản lý phiên bản phổ biến, giúp lập trình viên theo dõi và quản lý mã nguồn hiệu quả. Trong bài viết này, chúng ta sẽ cùng tìm hiểu một cách chi tiết về các lệnh Git cơ bản và các best practices để tối ưu hóa quy trình làm việc với Git.
Mục Lục
- Cấu Hình Git
- Khởi Tạo và Nhân Bản
- Giai Đoạn và Chụp Ảnh
- Quản Lý Nhánh
- Chia Sẻ và Cập Nhật
- Bỏ Qua Tập Tin
- Tham Khảo
⚙️ Cấu Hình Git
Git cho phép bạn cấu hình các thông tin cá nhân để nhận diện bạn trong các commit.
🌍 Cấu Hình Toàn Cục (áp dụng cho tất cả các kho lưu trữ)
bash
# Đặt tên toàn cục
git config --global user.name "Tên của bạn"
# Đặt email toàn cục
git config --global user.email "email@của.bạn"
📂 Cấu Hình Cục Bộ (cụ thể cho một kho lưu trữ)
bash
# Đặt tên cục bộ (chỉ cho repo này)
git config --local user.name "Tên của bạn"
# Đặt email cục bộ (chỉ cho repo này)
git config --local user.email "email@của.bạn"
🏗️ Khởi Tạo và Nhân Bản
🆕 Khởi Tạo một kho Git
bash
git init
📥 Nhân bản một kho lưu trữ
bash
# Nhân bản vào một thư mục mới
git clone [url]
# Nhân bản vào thư mục hiện tại
git clone [url] .
# Nhân bản vào một thư mục cụ thể
git clone [url] [duong-dan-nhan-ban]
📌 Giai Đoạn và Chụp Ảnh
🔎 Kiểm tra trạng thái tệp
bash
git status
➕ Thêm tệp vào khu vực giai đoạn
bash
# Thêm một tệp cụ thể
git add [tep]
# Thêm tất cả các tệp
git add .
➖ Xóa tệp khỏi khu vực giai đoạn
bash
# Bỏ giai đoạn một tệp cụ thể
git reset [tep]
# Bỏ giai đoạn tất cả các tệp
git reset .
📝 Kiểm tra thay đổi tệp
bash
# Hiện thị các thay đổi chưa được giai đoạn
git diff
# Hiện thị các thay đổi đã được giai đoạn
git diff --staged
💾 Ghi lại các thay đổi
bash
# Ghi lại với một thông điệp
git commit -m "Thông điệp ghi lại"
# Ghi lại với tiêu đề và mô tả
git commit -m "Tiêu đề ghi lại" -m "Mô tả ghi lại"
🌿 Quản Lý Nhánh
📋 Liệt kê các nhánh
bash
git branch
🌱 Tạo một nhánh mới
bash
git branch [ten-nhanh]
🔀 Chuyển sang nhánh khác
bash
git checkout [ten-nhanh]
✏️ Đổi tên nhánh hiện tại
bash
git branch -M [ten-nhanh-moi]
🕒 Xem lịch sử commit
bash
git log
🔄 Chia Sẻ và Cập Nhật
🌐 Kho lưu trữ từ xa
bash
# Thêm một kho từ xa
git remote add [alias] [url]
# Liệt kê các kho từ xa
git remote -v
# Hiện thị chi tiết về một kho từ xa
git remote show [alias]
# Lấy URL của một kho từ xa
git remote get-url [alias]
# Xóa một kho từ xa
git remote remove [alias]
📤 Lấy và đẩy thay đổi
bash
# Lấy và hợp nhất thay đổi từ xa
git pull
# Đẩy và thiết lập upstream lần đầu tiên
git push -u [alias] [nhanh]
# Đẩy đến một kho và nhánh cụ thể
git push [alias] [nhanh]
# Đẩy đến kho/nhánh mặc định
git push
🚫 Bỏ Qua Tập Tin
Để loại trừ các tệp/thư mục khỏi việc bị theo dõi, hãy tạo một tệp .gitignore:
logs/
*.notes
pattern*/
Các Thực Hành Tốt Nhất
- Thường xuyên commit: Ghi lại các thay đổi thường xuyên để dễ dàng theo dõi tiến trình.
- Viết thông điệp commit rõ ràng: Giúp bạn và người khác hiểu được lý do cho mỗi thay đổi.
- Sử dụng nhánh: Tạo nhánh cho các tính năng mới hoặc sửa lỗi để giữ cho mã chính ổn định.
Cạm Bẫy Thường Gặp
- Quên không commit trước khi đổi nhánh: Điều này có thể dẫn đến mất mát dữ liệu.
- Đẩy nhánh sai: Đảm bảo bạn đang ở đúng nhánh trước khi thực hiện đẩy.
Mẹo Tối Ưu Hiệu Suất
- Sử dụng SSH thay vì HTTPS: Điều này giúp tăng tốc độ đẩy và kéo từ kho từ xa.
- Xóa các kho không cần thiết: Giúp tiết kiệm dung lượng và cải thiện hiệu suất.
Giải Quyết Vấn Đề
- Không thể đẩy lên kho từ xa: Kiểm tra xem bạn có quyền truy cập không và xem nhánh nào đang được theo dõi.
- Xung đột khi kéo thay đổi: Sử dụng
git mergeđể giải quyết xung đột và sau đó commit lại.
Tham Khảo
- Hướng dẫn Git & GitHub hoàn chỉnh của Piyush Garg
- Hướng dẫn Git và GitHub cho người mới bắt đầu
- Hướng dẫn Git & GitHub | Nhánh và Hợp nhất
Bài viết này đã cung cấp cho bạn cái nhìn tổng quan về các lệnh Git cơ bản và các best practices để tối ưu hóa quy trình làm việc của bạn. Hãy thực hành và áp dụng những kiến thức này để trở thành một lập trình viên giỏi hơn!