Lesson 02 — Môi trường dev & Git
3 module tương tác: Git Simulator (3 vùng), Branch Tree (fast-forward vs 3-way merge), Conflict Resolver. Click thử các nút, đọc kèm README để hiểu.
1. Git Simulator — 3 vùng working / staging / repo
Sửa file ở working directory, git add đẩy vào staging, git commit tạo snapshot vào repo. Click các nút để thấy file di chuyển giữa các vùng.
🟡 Working Directory
🔵 Staging Area
🟢 Repository (HEAD)
$ # click các nút trên để bắt đầu...
2. Branch Tree — Fast-Forward vs 3-Way Merge
Chọn kịch bản, ấn "Bắt đầu" rồi click các nút commit/merge để xem cây branch tiến triển. Quan sát: khi nào Git tạo merge commit (M), khi nào chỉ tua thẳng.
Bắt đầu kịch bản A: ấn "commit on main" 2 lần, "checkout -b feature", "commit on feature" 2 lần, rồi "merge". Vì main không tiến thêm sau khi feature rẽ → Git fast-forward (không có merge commit).
3. Conflict Resolver — Giải quyết xung đột
File greet.go bị conflict giữa branch của bạn (yours) và branch main (theirs). Click "Accept Yours / Theirs / Both" để chọn cách giải quyết, xem kết quả ở dưới, rồi git add + git commit.
🔵 Yours — branch feat/vi
🟠 Theirs — branch main (đã có "es")
Kết quả sau khi resolve UNRESOLVED
$ git status
both modified: greet.go
$ # chọn cách resolve...