Git cơ bản: Cheat sheet các lệnh Git mọi lập trình viên cần biết

✍️ Trần Minh Trí (Chuyên gia AI & Lập trình)
⏱️ 5 phút đọcBeginner
#git #lap trinh #version control #cheatsheet
Git cơ bản: Cheat sheet các lệnh Git mọi lập trình viên cần biết

1. Thiết lập và cấu hình Git

Sau khi cài Git: git config --global user.name "Tên"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
💡TIP
In bảng cheat sheet này ra và dán cạnh màn hình khi mới học. Sau 2-3 tuần thực hành, bạn sẽ nhớ tự nhiên mà không cần nhìn nữa.

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.

📝NOTE
Mỗi người dùng có workflow khác nhau. Hãy xác định những thao tác bạn làm lặp đi lặp lại mỗi ngày và học kỹ phần liên quan trước.
⚠️WARNING
Mẹo quản lý Git chuyên nghiệp (Trần Minh Trí): Hạn chế dùng `git push --force` trên các branch dùng chung như `main` hoặc `develop`. Thay vào đó, hãy luôn ưu tiên sử dụng `git push --force-with-lease` để tránh đè đè đè mất commit của đồng đội mà bạn chưa pull về.

🙋 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.


Kiến thức liên quan