Actions
Final Submission #14705
open[Hồ Tấn Minh] Git Foundation Final Submission
Start date:
06/10/2026
Due date:
% Done:
100%
Estimated time:
Description
BÁO CÁO HOÀN THÀNH PROJECT: GIT SAFETY FOUNDATION¶
1. Thông tin cá nhân¶
- Họ và tên học viên: Hồ Tấn Minh
- Tài khoản Redmine: k6_hotanminh
- GitHub Repository: https://github.com/minhho0567-art/git-safety-foundation
2. Kết quả học tập và thực hành Git¶
📚 Quá trình học Microsoft Learn¶
Em đã hoàn thành xuất sắc 02 lộ trình học tập nền tảng và đính kèm đầy đủ minh chứng:
- GitHub Foundations - Phần 1/2
- GitHub Foundations - Phần 2/2
🛠️ Các chỉ số kỹ thuật đạt được¶
- 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(hoặcchủ yếu) - Nhánh phụ 1:
tính năng-1 - Nhánh phụ 2:
tính năng-2
- 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 tính năng 1): Gộp các thay đổi từ nhánh
tính năng-1vào nhánh chính sau khi hoàn thành cập nhật filefeature1.txt. -
Pull Request #2 (Thực hành luồng nâng cao): Gộp mã nguồn từ nhánh
tính năng-2và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.
⚡ Thực hành xử lý Xung đột (Conflict)¶
Trong bài tập này, em đã giả lập tình huống xung đột trên tệp nhatky.txt và conflict.txt:
-
Cách tạo xung đột: Tiến hành sửa đổi cùng một dòng (Dòng 1) tại nhánh chính với nội dung của học viên AKA Lab, đồng thời ở nhánh phụ
tính năng-2cũng chỉnh sửa dòng đó với nội dung do AI hỗ trợ. -
Cách giải quyết: Khi GitHub và Git cục bộ báo lỗi
CONFLICT (add/add): Merge conflict in conflict.txt, em đã mở tệp nguồn ra, tiến hành xóa bỏ các ký tự phân tách xung đột (<<<<<<<,=======,>>>>>>>), chọn lọc giữ lại đoạn mã chuẩn của cả hai bên rồi thực hiện cam kết (commit) để hoàn tất.
⏪ Thực hành Hoàn nguyên / Khôi phục (Revert)¶
Em đã thực hành quy trình "quay xe" lịch sử khi phát hiện mã nguồn cục bộ bị kẹt lỗi Unmerged files:
-
Cách thực hiện: Ép trạng thái máy cục bộ sạch sẽ giống trên mạng bằng lệnh
git reset --hard origin/mainđể dọn dẹp các tệp xung đột cũ. Sau đó, tìm mã commit lỗi (01a9dfd) bằng lệnhgit log --onelinevà chạy lệnhgit revert 01a9dfdđể sinh ra một commit đảo ngược, hủy bỏ thao tác sai một cách an toàn.
3. Mô tả chi tiết quá trình thực thi kho lưu trữ (Repository)¶
Giai đoạn 1: Khởi tạo kho lưu trữ¶
- Khởi tạo Git và tạo các tệp cơ bản.
- Kết nối repository với GitHub.
- Đẩy mã nguồn lên nhánh
main.
Giai đoạn 2: Phát triển tính năng¶
- Tạo nhánh
feature-1. - Thực hiện thay đổi, commit và push.
- Tạo Pull Request #1 và merge vào
main.
Giai đoạn 3: Xử lý xung đột¶
- Chỉnh sửa cùng một tệp trên
mainvàfeature-2. - Tạo Pull Request gây ra xung đột.
- Sử dụng Resolve conflicts để xử lý và hoàn tất merge.
Giai đoạn 4: Pull Request lần hai¶
- Tiếp tục cập nhật trên
feature-2. - Commit, push và tạo Pull Request mới.
- Kiểm tra thay đổi và merge vào
main.
4. Danh sách lệnh Git cốt lõi¶
-
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.
5. Thu hoạch¶
- 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