Git cơ bản: Cheat sheet các lệnh Git mọi lập trình viên cần biết
Mục lục bài viết
1. Thiết lập và cấu hình Git
Sau khi cài Git: git config --global user.name "Tên" và git config --global user.email "email@example.com".
Kiểm tra: git config --list.
Tạo alias: git config --global alias.co checkout, git config --global alias.br branch, git config --global alias.lg 'log --oneline --all --graph'.
2. Các lệnh cơ bản hàng ngày
git init- Khởi tạo repository.git clone- Sao chép từ xa về máy.git add/git add.- Thêm vào staging.git commit -m "message"- Lưu snapshot.git status- Xem trạng thái thay đổi.git log --oneline- Xem lịch sử commit.git diff- Xem khác biệt file hiện tại với commit cuối.
3. Làm việc với nhánh (Branch) và remote
git branch- Tạo nhánh mới.git switch- Chuyển nhánh.git merge- Gộp nhánh.git pull- Lấy code mới từ remote.git push origin- Đẩy commit lên remote.git remote -v- Danh sách remote.- Quy trình chuẩn:
git pull → git add → git commit → git push.
4. Xử lý lỗi và khôi phục
git reset --soft HEAD~1- Undo commit giữ thay đổi.git reset --hard HEAD~1- Undo commit xóa thay đổi.git revert- Tạo commit mới đảo ngược thay đổi (an toàn cho remote).git stash- Tạm cất thay đổi để chuyển nhánh.git stash pop- Lấy lại thay đổi đã stash.
5. Mẹo sử dụng hiệu quả và workflow tối ưu
Để tận dụng tối đa những kiến thức trong bài cheat sheet này, đây là những mẹo từ người dùng có kinh nghiệm:
Workflow được đề xuất:
- Bookmark bài này: Lưu lại để tra cứu nhanh khi cần thay vì cố nhớ tất cả
- Thực hành theo thứ tự: Làm quen với lệnh/cú pháp cơ bản trước, nâng cao sau
- Tạo alias/shortcut: Với các lệnh dùng thường xuyên, tạo alias để gõ nhanh hơn
Công cụ bổ trợ hữu ích:
- Cheatography.com: Kho cheat sheet khổng lồ cho nhiều lĩnh vực
- Dash (macOS) / Zeal (Windows/Linux): App tra cứu documentation offline
- Tldr-pages: Phiên bản rút gọn của man pages, dễ đọc hơn
Cách ghi nhớ hiệu quả:
- Nguyên tắc 20/80: 20% lệnh quan trọng nhất giải quyết 80% công việc hàng ngày
- Thực hành spaced repetition: ôn lại sau 1 ngày, 3 ngày, 1 tuần, 1 tháng
- Tạo flash cards cho các lệnh hay quên nhất
6. Ví dụ ứng dụng thực tế
Lý thuyết sẽ trở nên rõ ràng hơn qua các ví dụ cụ thể từ công việc thực tế:
Tình huống 1: Công việc hàng ngày
Bạn sẽ dùng đến những kiến thức này mỗi ngày khi làm việc. Việc thành thạo chúng giúp giảm thời gian thực hiện tác vụ đến 50%.
Tình huống 2: Giải quyết vấn đề nhanh
Khi gặp lỗi hoặc vấn đề, biết đúng lệnh/cú pháp giúp debug nhanh hơn. Thay vì phải search Google, bạn có thể tra cứu ngay bảng cheat sheet này.
Tình huống 3: Tự động hóa
Khi nắm vững cơ bản, bạn có thể kết hợp nhiều lệnh để tạo workflow tự động, tiết kiệm hàng giờ làm việc thủ công mỗi tuần.
🙋 Câu hỏi thường gặp
Sự khác biệt giữa git pull và git fetch là gì?
git fetch chỉ tải dữ liệu mới từ remote về mà không tự động merge. git pull = git fetch + git merge. Nếu không muốn merge tự động, dùng git fetch để kiểm tra trước.
Làm thế nào để undo commit gần nhất?
Nếu chưa push: git reset --soft HEAD~1 (giữ thay đổi) hoặc git reset --hard HEAD~1 (xóa hoàn toàn).
Nếu đã push: dùng git revert để tạo commit đảo ngược, không mất lịch sử.
Xung đột (conflict) khi merge xảy ra khi nào?
Xung đột xảy ra khi hai nhánh cùng sửa một dòng code khác nhau. Git đánh dấu file conflict với <<<<<<<, =======, >>>>>>>. Mở file, chỉnh sửa thủ công, xóa marker, sau đó git add và git commit.