Final Submission #14713
openGatekeeping
100%
Description
Git Foundation Final Submission before Vibe Code
Họ và tên : Hồ Đình Sơn
Lớp : KHD6
Github Repo:https://github.com/sondinh2910-arch/R.git
Quá trình học Mincrosoft Learn:
Em đã hoàn thành 2 Learning path:
GitHub Foundations Part 1 of 2
GitHub Foundations Part 2 of 2
Quá trình thực hành
h3. Quá trình xử lý và tích lũy hơn 10 Commit
Trong suốt bài tập, em thực hiện chia nhỏ tiến độ thành hơn 10 commit có ý nghĩa để rèn luyện thói quen quản lý mã nguồn theo từng giai đoạn học tập:
Các commit khởi tạo (Commit 1 - 3): Ghi nhận việc tạo tệp nền móng README.md, thiết lập cấu trúc lõi dự án (main.py) và xây dựng hàm toán học đầu tiên (calculator.py).
Các commit phát triển nhánh (Commit 4 - 7): Đóng gói riêng biệt từng module khi viết thêm hàm trừ, hàm nhân và kịch bản kiểm thử test_app.py trên các nhánh độc lập nhằm cô lập mã nguồn.
Các commit gỡ lỗi và hoàn tác (Commit 8 - 10+): Thực hiện commit giải quyết xung đột sau khi làm sạch file main.py thủ công, và commit đảo ngược tự động (git revert) để dọn dẹp thư mục rác pycache.
h3. quá trình thực hành repository **
Giai đoạn 1: Khởi tạo nền móng (main)
Dùng git init tạo repo local, commit file README.md đầu tiên. Tiếp tục viết lõi dự án (main.py, calculator.py) rồi commit. Sau đó kết nối GitHub và đẩy code lên bằng lệnh git push -u origin main --force.
Giai đoạn 2: Tách nhánh phát triển tính năng
Tạo và chuyển sang nhánh feature-subtract để viết hàm trừ. Thêm code logic và file kiểm thử test_app.py, commit độc lập rồi push lên mạng. Mở Pull Request (PR) #1 trên GitHub và bấm merge vào nhánh main.
Giai đoạn 3: Giả lập và xử lý xung đột (Conflict)
Quay lại nhánh main ở máy (chưa pull code mới về), cố tình sửa main.py thành thông báo bảo trì rồi commit. Khi chạy lệnh gộp nhánh feature-subtract vào main, Git báo lỗi CONFLICT. Tiến hành mở file, xóa các ký tự lạ (<<<<<<<, =======, >>>>>>>), chọn lọc giữ lại code chuẩn rồi git add và commit để gỡ lỗi.
Giai đoạn 4: Vận hành luồng Pull Request thứ hai
Tạo nhánh feature-multiply để viết hàm nhân vào calculator.py. Thực hiện commit, push nhánh lên GitHub, sau đó mở PR #2 trên giao diện web và bấm xác nhận Confirm merge để đưa tính năng mới vào nhánh chính.
Giai đoạn 5: Đồng bộ an toàn và thực hành hoàn tác (Revert)
Về nhánh main local, chạy git pull origin main --rebase để làm sạch và đồng bộ lịch sử từ cloud về máy. Giả lập lỗi bằng cách tạo và commit thư mục rác pycache. Ngay lập tức cứu hộ dự án bằng lệnh git revert HEAD --no-edit để tự động tạo commit đảo ngược, xóa bỏ thư mục rác một cách an toàn rồi push chốt lên GitHub.
Các lệnh git quan trọng
- git clone: Tải repository.
- git checkout -b: Tạo và chuyển nhánh.
- git checkout: Chuyển nhánh.
- git add .: Thêm thay đổi vào Staging Area.
- git commit -m: Tạo commit.
- git pull: Cập nhật mã nguồn.
- git push: Đẩy mã nguồn lên GitHub.
- git reset --hard: Khôi phục trạng thái.
- git revert: Hoàn tác commit.
- git log --oneline: Xem lịch sử commit.
Tôi sẽ dùng Git như thế nào khi Vibe Code với AI?
Em luôn tạo nhánh riêng (git checkout -b) để AI thử nghiệm, tránh đụng vào nhánh main. Mỗi khi AI hoàn thiện một tính năng nhỏ chạy ổn định, em commit ngay để "lưu game", tránh lỗi dây chuyền. Trước khi gộp code (merge), em luôn tạo Pull Request để rà soát kỹ các thay đổi. Nếu AI gây lỗi hệ thống, em dùng git revert để quay về trạng thái ổn định gần nhất chỉ trong vài giây. Quy trình này giúp em vừa tận dụng được sức mạnh của AI, vừa giữ dự án luôn an toàn và sạch sẽ.
Files
No data to display