DDevArchive
Đăng nhập

Git & GitHub: commit, push, pull, branch

Git là "máy thời gian" của code: ghi lại từng bước thay đổi để bạn dám thử, dám phá, và luôn quay lại được. GitHub là nơi đưa code lên mây để làm việc chung.

Ba vùng của Git

Một file thay đổi đi qua ba vùng: working directory (nơi bạn sửa), staging area (nơi bạn chọn những gì sẽ chụp ảnh), và repository (nơi các commit được lưu vĩnh viễn).

// File: terminal.sh
git status                # xem file nào đang ở vùng nào
git add index.js          # chọn file để đưa vào staging
git commit -m "Thêm trang đăng nhập"
                          # chụp ảnh staging -> repository
git log --oneline         # xem lịch sử commit
💡 Viết commit message tốt

Mô tả “vì sao” chứ không phải “cái gì”. Thay vì update file, viết fix: không cho guest ghi khoá học. Sau 6 tháng đọc lại bạn sẽ cảm ơn chính mình.

Push, pull và remote

Repository ở GitHub là remote. push đưa commit của bạn lên; pull kéo commit của người khác về. Lịch học chuẩn đầu ngày: pull trước, làm, commit, push.

// File: remote.sh
git remote add origin https://github.com/you/repo.git
git push -u origin main   # đẩy nhánh main lên lần đầu

git pull                  # kéo cập nhật mới về máy
git clone <url>           # chép nguyên repo về máy

Branch: làm việc song song không phá nhau

Branch là “nhánh” riêng biệt của lịch sử. Bạn làm tính năng trong feature/login, code chính vẫn an toàn ở main. Xong thì gộp (merge) lại.

// File: branch.sh
git switch -c feature/login   # tạo nhánh mới và chuyển sang
git switch main               # quay về nhánh chính
git merge feature/login       # gộp nhánh tính năng vào main

❓ Sau khi `git add file.js`, file đó đang ở đâu?

  • Thuộc: status, add, commit, push, pull
  • Viết commit message theo ý nghĩa
  • Luôn tạo branch mới cho tính năng
  • Pull trước khi bắt đầu làm việc