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