Project

General

Profile

Actions

Final Submission #14717

open

[Vũ Minh Quang] Git Foundation Final Submission

Added by Quang Vu Minh about 2 months ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Gatekeeping
Target version:
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

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:

  1. Pull Request #1 (Hợp nhất): Gộp các thay đổi từ nhánh mimic vào nhánh chính .
  2. Pull Request #2 (Thực hành luồng nâng cao): Gộp mã nguồn từ nhánh vadir và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.py trong 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-gia vào main, 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.
  • Cách giải quyết (Sử dụng GUI của Antigravity IDE):

    1. Mở tệp price_tracker.py đang được báo viền màu đỏ (chứa xung đột) từ tab Source Control.
    2. 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).
    3. Bấm Ctrl + S để lưu tệp.
    4. Trở lại tab Source Control, điền thông điệp: merge: Giai quyet xung dot thong tin gia thi truong và nhấn nút Commit để xác nhận hoàn tất quá trình gỡ rối.

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):
    1. 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.
    2. 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)".
    3. Click chuột phải vào commit đó và chọn lệnh Revert Commit.
    4. 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 revert hoặc reset khi gặp lỗi.
  • Kiểm tra code bằng Pull Request trước khi merge vào main.

Files

54e807ad-f7e0-405b-9863-4a6d85aabdbd.jpg (59.6 KB) 54e807ad-f7e0-405b-9863-4a6d85aabdbd.jpg Quang Vu Minh, 06/12/2026 06:33 AM
download.jpg (58.6 KB) download.jpg Quang Vu Minh, 06/12/2026 06:33 AM
Actions

Also available in: Atom PDF