Hướng Dẫn Sử Dụng Git: Cheat Sheet Chi Tiết
Git là một trong những hệ thống quản lý phiên bản phổ biến nhất hiện nay, giúp các lập trình viên theo dõi và quản lý mã nguồn của dự án. Bài viết này cung cấp một bảng tóm tắt các lệnh Git cơ bản và hữu ích nhất, cùng với hướng dẫn chi tiết để bạn có thể tận dụng tối đa công cụ này.
Mục Lục
🛠 Thiết lập và Khởi tạo
| Lệnh |
Mô tả |
git init |
Khởi tạo một kho Git mới trong thư mục hiện tại. |
git clone [repo-url] |
Nhân bản một kho đã tồn tại. |
git remote -v |
Liệt kê các kho từ xa kết nối với dự án của bạn. |
git remote add origin [url] |
Liên kết một kho cục bộ với một kho từ xa. |
git branch -M [new-name] |
Đổi tên nhánh hiện tại (thông thường là main). |
📂 Làm việc với Tệp
| Lệnh |
Mô tả |
git add [file/dir] |
Đưa một tệp hoặc thư mục vào trạng thái sẵn sàng cho commit. |
git add . |
Đưa tất cả thay đổi trong thư mục hiện tại vào trạng thái sẵn sàng. |
git rm [file] |
Xóa một tệp và đưa việc xóa vào trạng thái sẵn sàng. |
git mv [old] [new] |
Đổi tên hoặc di chuyển một tệp. |
💾 Lưu Thay Đổi
| Lệnh |
Mô tả |
git commit -m "msg" |
Commit các thay đổi đã được đưa vào trạng thái với một thông điệp. |
git commit -am "msg" |
Đưa và commit các tệp đã được theo dõi trong một bước. |
git reset --soft [hash] |
Hoàn tác commits nhưng giữ các thay đổi ở trạng thái sẵn sàng. |
git reset [hash] |
Hoàn tác commits và bỏ trạng thái các thay đổi (giữ lại trong thư mục làm việc). |
git reset --hard [hash] |
Đặt lại mọi thứ về một commit cụ thể (⚠ hủy diệt). |
git revert [hash] |
Tạo một commit mới để hoàn tác một commit cụ thể. |
git revert --continue |
Tiếp tục hoàn tác nếu xảy ra xung đột. |
git revert --abort |
Hủy bỏ một thao tác hoàn tác đang diễn ra. |
🌿 Quản lý Nhánh
| Lệnh |
Mô tả |
git branch |
Liệt kê tất cả các nhánh, * cho biết nhánh hiện tại. |
git branch [name] |
Tạo một nhánh mới. |
git branch [new] [existing] |
Tạo nhánh mới từ một nhánh khác. |
git checkout [branch] |
Chuyển sang một nhánh hiện có. |
git checkout -b [name] |
Tạo và chuyển sang một nhánh mới. |
git merge [branch] |
Gộp một nhánh vào nhánh hiện tại. |
git push --set-upstream origin [branch] |
Đẩy nhánh mới và thiết lập theo dõi từ xa. |
🔄 Đồng bộ với Remote
| Lệnh |
Mô tả |
git pull |
Tải và gộp từ kho từ xa. |
git fetch |
Tải các thay đổi nhưng không gộp ngay. |
git push |
Đẩy các commit lên kho từ xa. |
git push -u origin main |
Đẩy và thiết lập nhánh theo dõi mặc định (đẩy lần đầu). |
📊 Kiểm tra Trạng thái và Lịch sử
| Lệnh |
Mô tả |
git status |
Hiển thị các tệp đã đưa vào trạng thái/sẵn sàng/chưa theo dõi. |
git log |
Hiển thị lịch sử commit. |
git log --oneline --graph --decorate --all |
Lịch sử commit đẹp, gọn gàng. |
git diff [file] |
Hiển thị các thay đổi chưa được đưa vào trạng thái cho một tệp. |
git diff --staged |
Hiển thị các thay đổi đã được đưa vào trạng thái (sẵn sàng để commit). |
🗄 Lưu Trữ và Công việc Tạm thời
| Lệnh |
Mô tả |
git stash |
Lưu các thay đổi chưa commit tạm thời. |
git stash list |
Hiển thị danh sách các thay đổi đã được lưu trữ. |
git stash apply [id] |
Áp dụng các thay đổi đã lưu (giữ lại trong stash). |
git stash pop |
Áp dụng và xóa khỏi stash. |
⚔️ Giải Quyết Xung Đột Kết Hợp
git checkout main
git pull origin main
git checkout your-branch
git merge main
# Giải quyết xung đột thủ công trong các tệp
git add .
git commit -m "fix merge conflict"
git push
Thực hành tốt
- Thực hiện commit thường xuyên: Giúp theo dõi lịch sử thay đổi dễ dàng hơn.
- Viết thông điệp commit rõ ràng: Giúp người khác hiểu rõ các thay đổi mà bạn đã thực hiện.
Cạm bẫy phổ biến
- Không giải quyết xung đột trước khi commit: Xung đột cần được giải quyết để đảm bảo tích hợp thành công.
- Đẩy nhánh chưa hoàn thành lên kho từ xa: Nên tránh việc này nếu không muốn làm rối loạn lịch sử commit.
Mẹo hiệu suất
- Sử dụng nhánh cho từng tính năng: Giúp quản lý mã nguồn dễ dàng hơn.
- Thường xuyên dọn dẹp các nhánh cũ: Để tránh gây nhầm lẫn và giữ cho kho sạch sẽ.
Khắc phục sự cố
- Nếu bạn gặp lỗi khi chạy lệnh: Kiểm tra cú pháp hoặc tham khảo tài liệu Git để tìm hiểu thêm.
- Khi gặp xung đột: Hãy bình tĩnh và giải quyết từng xung đột một cách thủ công.
Kết luận
Git là một công cụ mạnh mẽ và cần thiết cho mọi lập trình viên. Hi vọng rằng cheat sheet này sẽ giúp bạn làm việc hiệu quả hơn với Git. Hãy thử nghiệm và áp dụng các lệnh Git vào quy trình làm việc của bạn ngay hôm nay!
Tham khảo thêm:
Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại để lại ý kiến của bạn bên dưới!