Actions
Final Submission #14717
open[Vũ Minh Quang] Git Foundation Final Submission
Start date:
06/12/2026
Due date:
% Done:
100%
Estimated time:
Description
Git Foundation Final Submission before Vibe Code¶
Thông tin sinh viên:¶
Họ và tên : Vũ Minh Quang
Lớp : KHD6
Github Repo : https://github.com/quangng1311/khoa-hoc-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
Thông số kỹ thuật :¶
- Commit: Thực hiện hơn 10 commit có ý nghĩa trong suốt quy trình triển khai local và remote.
-
Nhánh (Branches): Đã tạo và thực hành trên các nhánh độc lập:
- Nhánh chính:
main - Nhánh phụ 1:
mimic - Nhánh phụ 2:
vadir
- Nhánh chính:
Yêu cầu Kéo (Pull Request) đã thực hiện¶
Em đã tạo và đóng thành công 02 Pull Request để làm quen với quy trình GitHub Flow:
-
Pull Request #1 (Hợp nhất): Gộp các thay đổi từ nhánh
mimicvào nhánh chính . -
Pull Request #2 (Thực hành luồng nâng cao): Gộp mã nguồn từ nhánh
vadirvào nhánh chính, đồng thời kích hoạt và xử lý kiểm soát các thay đổi xung đột.
Tình huống giải quyết Xung đột (Conflict)¶
-
Mô tả tình huống: Xung đột mã nguồn đã xảy ra tại tệp
price_tracker.pytrong quá trình gộp nhánh.-
Trên nhánh
main: Một thành viên đã cập nhật dòng chú thích cấu hình với nội dung:thong_tin_thi_truong = "Giá SSD và RAM đang duy trì ở mức ổn định." -
Trên nhánh
cap-nhat-gia: Cùng lúc đó, tại đúng dòng code này, dữ liệu được cập nhật sát với thực tế hơn:thong_tin_thi_truong = "Giá SSD và DDR đang tăng giá điên cuồng do thiếu hụt nguồn cung." -
Lý do báo lỗi: Khi thực hiện thao tác Merge nhánh
cap-nhat-giavàomain, hệ thống Git báo lỗi CONFLICT (content) vì hai luồng thông tin ghi đè lên cùng một vị trí và Git không thể tự quyết định nên giữ nhận định thị trường nào.
-
Trên nhánh
-
Cách giải quyết (Sử dụng GUI của Antigravity IDE):
- Mở tệp
price_tracker.pyđang được báo viền màu đỏ (chứa xung đột) từ tab Source Control. - Giao diện IDE hiển thị rõ hai đoạn code va chạm. Click chọn nút Accept Incoming Change (Chấp nhận thay đổi từ nhánh phụ) để giữ lại thông tin cập nhật giá chính xác nhất (giá đang tăng do thiếu hụt).
- Bấm
Ctrl + Sđể lưu tệp. - Trở lại tab Source Control, điền thông điệp:
merge: Giai quyet xung dot thong tin gia thi truongvà nhấn nút Commit để xác nhận hoàn tất quá trình gỡ rối.
- Mở tệp
Tình huống Hoàn tác thay đổi (Revert / Rollback)¶
-
Mô tả tình huống: Trong quá trình nâng cấp mã nguồn cho tệp
tarot_finder.py, tôi đã lỡ tay tô đen và xóa nhầm toàn bộ dữ liệu từ khóa của các lá bài quan trọng (như Eight of Wands và Queen of Swords - vốn được dùng để định vị và tìm kiếm các vật dụng thất lạc quan trọng như thẻ căn cước). Tồi tệ hơn, tôi đã vô tình nhấn Commit để lưu lại trạng thái lỗi này (Commit message: "Chỉnh sửa bộ bài (bị lỗi)"). - Hậu quả: Ứng dụng bị mất dữ liệu cốt lõi, không thể đưa ra gợi ý tìm đồ khi bốc bài.
-
Cách giải quyết (Sử dụng tính năng của IDE):
- Mở tính năng quản lý Timeline (hoặc danh sách Commits) tích hợp sẵn trên giao diện Antigravity IDE.
- Dò tìm lại lịch sử và xác định đúng commit bị lỗi có tên "Chỉnh sửa bộ bài (bị lỗi)".
- Click chuột phải vào commit đó và chọn lệnh Revert Commit.
- Hệ thống tự động sinh ra một commit mới để bù trừ, khôi phục lại nguyên vẹn các dòng code định nghĩa lá bài đã bị xóa mất trước đó một cách an toàn mà không làm gián đoạn hay phá hỏng cấu trúc lịch sử của dự án.
Lệnh git đã sử dụng:¶
- git init --- (Khởi tạo kho lưu trữ mới để bật tính năng quản lý phiên bản.)
- git add --- (Gom nhóm các thay đổi có liên quan lại với nhau tại khu vực chuẩn bị, để "ghi nhận" chúng vào lịch sử.)
- git commit --- (Lưu hoặc "lưu lại" các thay đổi trong khu vực dàn dựng vào lịch sử dự án.)
- git status --- (Xem trạng thái hiện tại của thư mục làm việc và khu vực lưu trữ tạm thời.)
- git checkout --- (Thay đổi thư mục làm việc của bạn sang một phiên bản khác từ lịch sử kho lưu trữ.)
- git log --- (Hiển thị lịch sử chi tiết của dự án.)
- git diff --- (Sự khác biệt giữa thư mục làm việc và khu vực dàn dựng.)
- git revert --- (Đảo ngược một commit bị lỗi)
- git branch --- (xem hoặc tạo nhánh)
- git clone --- (tải repository từ GitHub về máy)
Nghiệm thu :¶
- Luôn tạo nhánh riêng khi làm việc với AI.
- Commit thường xuyên để lưu các mốc an toàn.
- Dùng
reverthoặcresetkhi gặp lỗi. - Kiểm tra code bằng Pull Request trước khi merge vào
main.
Files
Actions
#1
Updated by Quang Vu Minh about 2 months ago
Actions