~/VibeHandbook
PDF miễn phí

Chương 01 · 02

Repository, commit, và lịch sử

Ba từ bạn sẽ nghe liên tục. Hãy giải mã chúng.

Một (hay "repo") đơn giản là một thư mục mà đang theo dõi. Bạn biến một thư mục bình thường thành repo một lần duy nhất, và từ đó Git theo dõi mọi thứ bên trong nó.

Một là một điểm lưu. Đó là ảnh chụp của toàn bộ các file tại một thời điểm, cộng với một ghi chú ngắn từ bạn mô tả điều gì đã thay đổi ("thêm trang đăng nhập", "sửa lỗi nút đăng ký bị hỏng"). Bạn tạo commit liên tục — hãy nghĩ mỗi commit như một checkpoint mà bạn có thể muốn quay lại.

Lịch sử (history) là danh sách theo thứ tự của tất cả các commit của bạn. Đó là dòng thời gian. Bạn có thể cuộn qua nó, đọc từng thay đổi là gì, và du hành ngược về bất kỳ thời điểm nào.

Đây là cách nó trông như thế nào trong thực tế. Đừng lo phải ghi nhớ nó — phần lớn bạn sẽ để AI chạy các lệnh này thay bạn — nhưng hãy đọc theo để những từ ngữ này không còn bí ẩn nữa:

# Turn the current folder into a Git repository (do this once)
git init

# See which files have changed since your last save point
git status

# Stage your changes, then save them as a commit with a message
git add .
git commit -m "Add the homepage layout"

# Look at your history — every commit, newest first
git log --oneline

git add . là bạn nói "hãy đưa tất cả thay đổi của tôi vào điểm lưu tiếp theo." git commit là hành động lưu thực sự. Phần -m "..." là ghi chú của bạn gửi cho chính mình trong tương lai. Hãy viết những ghi chú mà bạn sẽ hiểu được sau một tháng nữa.

Hai lệnh đó đưa công việc của bạn qua ba giai đoạn. Một file bạn chỉnh sửa chưa được lưu cho đến khi nó đi hết quãng đường sang bên phải:

   ┌─────────────────┐  git add   ┌─────────────────┐  git commit  ┌─────────────────┐
   │  WORKING DIR    │ ─────────▶ │     STAGING     │ ───────────▶ │     HISTORY     │
   │  files you edit │            │  changes picked │              │  saved commits  │
   │  (not saved yet)│            │  for next save  │              │  (safe forever) │
   └─────────────────┘            └─────────────────┘              └─────────────────┘
       you change             you choose what               it becomes a
        a file                goes in the commit            permanent snapshot

Muốn bản ngoại tuyến?

Tải trọn cuốn sách dưới dạng PDF hoặc EPUB — miễn phí.