Git và GitHub cho người mới: đưa dự án đầu tiên lên GitHub

Bạn đã hiểu Git là gì nhưng khi bắt tay vào thực tế lại lúng túng: làm sao đưa thư mục code của mình lên GitHub cho người khác xem, hoặc đơn giản là để sao lưu an toàn? Bài này dẫn bạn đi trọn một vòng — từ cài đặt, tạo kho trên GitHub, đến các lệnh đưa dự án đầu tiên lên — và giải thích mỗi lệnh làm gì để bạn không chỉ gõ theo mà còn hiểu.
🎯 Mục tiêu bài học: đưa một thư mục dự án trên máy bạn lên thành một kho (repository) trên GitHub, qua đúng chuỗi lệnh:
init→add→commit→push.
Git và GitHub: phân biệt cho rõ
Nhiều người mới nhầm hai thứ này là một. Thực ra:
- Git = phần mềm chạy trên máy bạn, ghi lại lịch sử thay đổi của code (ai sửa gì, khi nào, có thể quay lại bản cũ).
- GitHub = website lưu trữ các kho Git trên mạng, để bạn sao lưu, chia sẻ và làm việc nhóm.
Ví von: Git giống như tính năng “lịch sử phiên bản” cho code; GitHub là “đám mây” để cất lịch sử đó và cho người khác xem. Bài này giả định bạn đã nắm khái niệm Git — nếu chưa, đọc Git là gì: hướng dẫn cơ bản trước.
Chuẩn bị: cài Git và tạo tài khoản GitHub
1. Cài Git. Tải Git tại trang chính thức git-scm.com và cài đặt (Windows/macOS/Linux đều có). Kiểm tra đã cài xong bằng cách mở Terminal (hoặc Git Bash trên Windows) và gõ:
git --version
Nếu hiện ra số phiên bản (ví dụ git version 2.x.x) là thành công.
2. Khai báo tên và email (Git gắn thông tin này vào mỗi lần commit — chỉ cần làm một lần):
git config --global user.name "Tên của bạn"
git config --global user.email "[email protected]"
3. Tạo tài khoản GitHub miễn phí tại github.com nếu chưa có.
Bước 1: Tạo kho (repository) trên GitHub
- Đăng nhập GitHub, bấm nút New (hoặc dấu + góc trên phải → New repository).
- Đặt tên kho (ví dụ
du-an-dau-tien). - Chọn Public (ai cũng xem được) hoặc Private (chỉ mình bạn) — xem khác biệt ở phần Hỏi–Đáp.
- Chưa cần tích “Add a README” nếu bạn sắp đẩy code có sẵn lên (tránh xung đột lúc đầu).
- Bấm Create repository. GitHub sẽ hiện một trang có sẵn địa chỉ kho (URL) — để đó, ta dùng ở bước cuối.
Bước 2: Biến thư mục dự án thành kho Git
Mở Terminal, di chuyển vào thư mục dự án của bạn rồi khởi tạo Git:
cd duong-dan/toi/du-an # vào thư mục dự án
git init # tạo kho Git trong thư mục này
💡 Chưa biết điền gì sau
cd? Cách nhanh: gõcd(có dấu cách) rồi kéo-thả thư mục dự án vào cửa sổ Terminal — đường dẫn tự điền. Trên Windows đường dẫn có dạngC:\Users\Ban\du-an.
git init tạo một thư mục ẩn .git — đây là nơi Git lưu toàn bộ lịch sử. Từ giờ thư mục này đã được Git “theo dõi”.
Bước 3: add và commit — lưu ảnh chụp đầu tiên
Hai lệnh cốt lõi của Git:
git add . # đưa TẤT CẢ file vào "khu vực chờ" (staging)
git status # (tuỳ chọn) kiểm tra xem đã add đúng file chưa
git commit -m "Commit đầu tiên" # lưu lại thành một mốc lịch sử
Giải thích:
git add .đánh dấu các file bạn muốn lưu (dấu.nghĩa là “mọi file trong thư mục”). Bước này gọi là đưa vào staging — như xếp đồ vào giỏ trước khi tính tiền.git commit -m "..."“chốt” các file đã add thành một mốc lịch sử kèm lời nhắn mô tả. Mỗi commit là một ảnh chụp trạng thái dự án tại thời điểm đó.
💡 Mẹo: lời nhắn commit nên ngắn gọn, mô tả bạn đã làm gì (“Thêm trang chủ”, “Sửa lỗi đăng nhập”) để sau này dễ tra lịch sử.
Bước 4: Kết nối và push lên GitHub
Bây giờ nối kho trên máy với kho trên GitHub và đẩy code lên. Dùng URL kho mà GitHub đã hiện ở Bước 1:
git remote add origin https://github.com/ten-ban/du-an-dau-tien.git
git branch -M main # đặt tên nhánh chính là "main"
git push -u origin main # đẩy code lên GitHub
Giải thích:
git remote add origin ...cho Git biết “kho trên mạng” nằm ở đâu;originlà tên gọi tắt cho URL đó.git push -u origin mainđẩy các commit từ máy bạn lên nhánhmaintrên GitHub. Lần đầu push, GitHub sẽ yêu cầu đăng nhập/xác thực.
Xong! Tải lại trang kho trên GitHub, bạn sẽ thấy toàn bộ file của mình đã ở đó.
🔑 Về xác thực (bước hay kẹt nhất): GitHub không cho dùng mật khẩu tài khoản khi push qua HTTPS — bạn phải dùng Personal Access Token (PAT). Cách tạo: trên GitHub vào Settings → Developer settings → Personal access tokens → Generate new token, tích quyền (scope)
repo, tạo xong copy token ngay vì nó chỉ hiện một lần. Khi Terminal hỏi Password lúc push, hãy dán token vào (nhiều Terminal không hiển thị ký tự khi dán — cứ dán rồi Enter). Không tíchrepothì push sẽ vẫn bị từ chối.
Vòng lặp làm việc hằng ngày
Sau lần đầu, mỗi khi sửa code và muốn cập nhật lên GitHub, bạn chỉ lặp lại ba lệnh:
git add .
git commit -m "Mô tả thay đổi"
git push
Nhớ thứ tự: sửa code → add → commit → push. Đây là nhịp làm việc bạn sẽ dùng mãi.
Lỗi thường gặp & cách xử lý
git: command not found→ chưa cài Git hoặc chưa mở lại Terminal sau khi cài. Cài lại và mở cửa sổ Terminal mới.- Push bị từ chối, đòi mật khẩu → dùng Personal Access Token thay mật khẩu (xem ô 🔑 ở trên).
remote origin already exists→ bạn đã thêm remote rồi. Kiểm tra bằnggit remote -v; nếu sai URL, sửa bằnggit remote set-url origin <URL-đúng>.- Lỡ commit file nhạy cảm (mật khẩu, khóa API) → xóa nó và dùng file
.gitignoređể Git bỏ qua các file không nên đưa lên. Với kho public, hãy coi như thông tin đã lộ và đổi ngay khóa đó. - Đẩy nhầm file rác/thư mục nặng (như
node_modules) → tạo file.gitignoreliệt kê những gì cần bỏ qua trước khi add.
Tóm lại
Đưa dự án lên GitHub chỉ gồm một chuỗi lệnh có logic rõ ràng: git init (tạo kho) → git add (chọn file) → git commit (lưu mốc) → nối remote → git push (đẩy lên mạng). Hiểu mỗi lệnh làm gì một lần là bạn nắm được nhịp làm việc cốt lõi, và từ đó mở ra cả thế giới cộng tác mã nguồn mở. Bước tiếp theo đáng học là làm việc với nhánh (branch) và pull request để cộng tác nhóm — nhưng trước hết, hãy đưa được dự án đầu tiên của bạn lên GitHub đã. Nếu bạn đang tự học lập trình, xem thêm lộ trình tự học lập trình từ con số 0.
Câu hỏi thường gặp
Git và GitHub khác nhau thế nào?
Git là phần mềm quản lý phiên bản chạy trên máy bạn — nó theo dõi thay đổi của code theo thời gian. GitHub là một dịch vụ trực tuyến để lưu trữ các kho Git (repository) trên mạng, giúp bạn sao lưu, chia sẻ và cộng tác. Nói ngắn gọn: Git là công cụ, GitHub là nơi cất và chia sẻ. Bạn có thể dùng Git mà không cần GitHub, nhưng GitHub cần Git để hoạt động.
Tôi có cần biết dòng lệnh mới dùng được GitHub không?
Không bắt buộc. GitHub có giao diện web và ứng dụng GitHub Desktop cho phép thao tác bằng chuột, phù hợp người mới. Tuy nhiên, hiểu vài lệnh Git cơ bản (init, add, commit, push) rất đáng học vì nó giúp bạn kiểm soát tốt hơn và là kỹ năng chuẩn trong nghề lập trình. Bài này dùng dòng lệnh vì đây là cách nền tảng và dùng được ở mọi nơi.
Kho công khai (public) và riêng tư (private) trên GitHub khác gì nhau?
Kho công khai (public) ai cũng xem được code của bạn — hợp để chia sẻ, xây hồ sơ cá nhân, hoặc dự án mã nguồn mở. Kho riêng tư (private) chỉ bạn và người được mời mới thấy — hợp cho code cá nhân, bài tập, hay dự án chưa muốn công khai. GitHub cho tạo cả hai loại miễn phí. Lưu ý: đừng bao giờ đưa mật khẩu, khóa API hay thông tin nhạy cảm lên kho công khai.
Thợ code chính hiệu, thích dắt người mới qua mấy đoạn 'khó nhằn' bằng giọng nhẹ tênh. Châm ngôn: cứ làm dự án thật, sai thì sửa, vui là chính.
Bài liên quan

Bài 11: Module và thư viện chuẩn trong Python
Bài 11 series Python cho người mới (bài học 30 phút): dùng module và thư viện chuẩn — import math, random, datetime — và tự tách code thành module riêng để tái dùng; kèm bài tập và code mang về.

Bài 9: JavaScript — thao tác DOM (đổi nội dung, ẩn/hiện, tạo phần tử)
Bài 9 series Web cơ bản (bài học 30 phút): thao tác DOM bằng JavaScript — chọn phần tử, đổi nội dung và kiểu, ẩn/hiện, tạo phần tử mới — làm danh sách việc cần làm tương tác; kèm thực hành và file mang về.

Bài 10: Đọc và ghi file trong Python
Bài 10 series Python cho người mới (bài học 30 phút): đọc và ghi file văn bản — lưu dữ liệu ra file, đọc lại, ghi thêm — dùng with open và encoding UTF-8 cho tiếng Việt; kèm bài tập và code mang về.