1 of 39

Organized by: Zero One Nexus Club

Faculty of Natural Sciences & Technology

Date: November 30, 2025

WORKSHOP: GIT & GITHUB BASICS

Version Control | Team Collaboration

Practical Coding Skills

Presented by:

    • CN. Nguyễn Lan Hương
    • CN. Trịnh Thanh Tâm

2 of 39

Mục tiêu buổi tập huấn

Giới thiệu Git & GitHub

Quy trình quản lý version (commit, branch, merge…)

Thực hành: GitHub workflow, Pull Request, teamwork.

Ứng dụng Copilot & Xây dựng Profile Github đẹp

3 of 39

1. Giới thiệu Git & GitHub

4 of 39

PHẦN 1: Git là gì?

Git = Version Control System

(Hệ thống quản lý phiên bản)

Lưu lịch sử thay đổi của mã nguồn

Theo dõi từng phiên bản của file, folder

Quay lại phiên bản cũ khi code lỗi

Hỗ trợ teamwork trên cùng dự án

📌 Git được Linus Torvalds phát triển cho Linux Kernel, 2005

5 of 39

Lý do Git quan trọng?

Không còn kiểu copy “v1-final-final-Ngay-thi.zip”

Hạn chế xung đột khi làm nhóm

Lưu dấu vết thay đổi của từng contributor

Tăng hiệu suất – Đảm bảo chất lượng dự án

Chuẩn công nghiệp (Google, Microsoft, Meta…)

6 of 39

Modified

→ file đã chỉnh

Staged

→ đánh dấu để commit

Git cơ bản

Committed

→ đã ghi vào repo

💡 3 trạng thái file trong Git

Vòng đời:

Working Directory → Staging Area → Repository

7 of 39

GitHub

Lưu code trên cloud

Issue, Pull Request, Review, Project

Showcase portfolio cá nhân

Source Open → học hỏi cộng đồng

🚀 GitHub = CV Developer thời hiện đại

GitHub = Nền tảng lưu repo + networking dev

8 of 39

Git vs GitHub

9 of 39

2. Quy trình quản lý version (commit, branch, merge…)

10 of 39

Bước 2

QUY TRÌNH THAO TÁC

git init → Tạo repo

git add → Stage

Bước 1

git commit -m ""

→ Lưu phiên bản

Bước 3

git log

→ Xem lịch sử

Bước 4

Quy trình Git cơ bản (Local)

11 of 39

Push lên GitHub

    • Tạo repo trên GitHub

2. Kết nối remote

Câu lệnh:

git remote add origin <url>

git branch -M main

git push -u origin main

12 of 39

Pull thay đổi từ remote

Khi team update code:

git pull origin main

→ Update code về máy bạn

→Tránh viết đè code người khác

13 of 39

BRANCH – QUẢN LÝ PHIÊN BẢN

Nhánh chứa luồng phát triển riêng của tính năng

    • main = ổn định
    • feature/login
    • bugfix/api

🎯 Không code trực tiếp trên main

Branch là gì?

14 of 39

Tạo branch

& chuyển branch

Hoặc

git checkout -b feature/login

git push -u origin feature/login

git branch feature/login

git checkout feature/login

15 of 39

Merge branch vào main

git checkout main

git merge feature/login

Khi hoàn thành:

Nếu conflict → FIX → commit

16 of 39

TEAMWORK

PULL REQUEST

Clone → Pull Request

✔️ Cách chuẩn teamwork:

    • Clone repo về máy
    • Tạo branch
    • Commit code
    • Push branch → GitHub
    • Tạo Pull Request
    • Review – approve – merge

17 of 39

Pull Request (PR)

PR = Đề nghị merge code

    • Code sạch
    • Commit rõ ràng
    • Kèm mô tả hoặc ảnh/tài liệu

💬 Comment → yêu cầu sửa → approve

18 of 39

Code Review

Reviewer cần:

    • Đọc logic
    • Check bug
    • Check naming
    • Check security
    • Feedback

=>Không chê người

→ chỉ chê code

19 of 39

3. Thực hành: GitHub workflow, Pull Request, teamwork.

20 of 39

BEST PRACTICES

    • Nhóm tính năng theo commit
    • Ngắn gọn → dễ hiểu
    • Không commit file rác
    • git ignore

Quy tắc commit

Ví dụ:

feat: add login API

fix: handle token timeout

docs: update README

21 of 39

Branch naming

Đừng đặt “test1”, “nhanh moi”, “ez”

feature/cart

feature/user-auth

bugfix/navbar-overflow

Chuẩn:

22 of 39

Anti-pattern cần tránh

❌ Code thẳng vào main

❌ Push file build

❌ Không pull trước khi push

❌ Commit 10k dòng

❌ Copy code chatGPT không hiểu

23 of 39

Giải quyết repo hỏng

🔥 Bí kíp:

    • git reset
    • git checkout
    • git revert
    • clone mới

24 of 39

Conflict

→ Bước xử lý:

    • Chọn code đúng
    • Xóa ký hiệu <<< === >>>
    • Commit

Ảnh minh họa Conflict

25 of 39

Q&A / SHARE REAL-LIFE

    • “fatal: not a git repository”
    • “pathspec did not match any files”
    • “merge conflict”
    • “git remote already exists”

Các lỗi sinh viên thường gặp

26 of 39

THỰC HÀNH

    • Git + VSCode
    • GitHub account
    • extension: GitHub Pull Request
    • SSH key (khuyến nghị)

Setup môi trường

27 of 39

Resolve conflict

Pull Request

Clone

Branch + merge

Tạo repo

Commit + push

Demo nhanh

28 of 39

6. Push code

2. Clone code

4. Commit

    • Tạo repo mới

3. Tạo Branch

Bài tập thực hành

5. Pull code

29 of 39

4. Ứng dụng Copilot & Xây dựng Profile Github đẹp

30 of 39

GITHUB COPILOT + AI

    • Trợ lý lập trình sử dụng AI (OpenAI Codex, GPT)
    • Gợi ý code theo ngữ cảnh
    • Tạo function, sửa lỗi, tối ưu code
    • Tạo test case tự động
    • Viết comment => Copilot viết code
    • Hỗ trợ hơn 100 ngôn ngữ lập trình
    • Tích hợp tốt trong VS Code

Copilot là gì?

31 of 39

Copilot giúp ích cho sinh viên CNTT như thế nào?

    • Giảm thời gian viết code → tập trung vào tư duy
    • Học ngôn ngữ mới nhanh hơn
    • Tham khảo best practices
    • Viết documentation nhanh hơn
    • Gợi ý thuật toán & cấu trúc dữ liệu
    • Hỗ trợ Debug, Refactor
    • Hỗ trợ làm đồ án, mini project

Copilot giúp sinh viên:

32 of 39

Copilot trong VSCode

    • Bật Copilot
    • Nhập mô tả bằng tiếng Việt/Anh
    • Copilot → generate code

📌 Lời khuyên:

    • Viết prompt sạch
    • Không làm thay, hiểu code
    • Luôn đọc – kiểm tra – sửa

33 of 39

Làm thế nào để xây dựng một Profile GitHub đẹp?

    • README Profile chuyên nghiệp
    • Ảnh đại diện rõ ràng
    • Mô tả bản thân ngắn gọn, có định hướng
    • Pin dự án nổi bật lên đầu
    • Commit đều đặn, lịch sử xanh đẹp
    • Project có README chi tiết
    • Sử dụng GitHub Actions / badges
    • Repo tổ chức rõ ràng
    • Không để repo rác / code test lung tung

Các yếu tố của Profile đẹp:

34 of 39

Profile GitHub đẹp để tham khảo

35 of 39

TỔNG KẾT

    • Git giúp quản lý lịch sử code
    • GitHub giúp teamwork
    • Branch → PR → Review
    • Copilot giúp tăng tốc nhưng phải hiểu code

Takeaways

36 of 39

GitHub workflow

Kanban → Issue → Assign → Branch → PR → Review → Merge → Release

37 of 39

Nguồn học

38 of 39

39 of 39

THANK FOR WATCHING!