[Git 101] P1: Căn bản về Git

Tú Phạm - Tony
Eway Engineering
Published in
2 min readJun 18, 2018

Giới thiệu

Git là một hệ thống quản lý phiên bản (version control system) mã nguồn mở được tạo bởi Linus Torvalds năm 2005 trong quá trình phát triển Linux kernel nhằm mục đích ghi lại sự thay đổi của các file trong thư mục (thường bao gồm mã nguồn và tài liệu) hay dùng trong phát triển phần mềm.

Các đặc điểm của Git

Nhằm mục đích hỗ duy trì một hệ thống trợ phát triển phần phềm lớn, phức tạp như Linux kernel, Git mang các đặc điểm chính sau:

  • Hỗ trợ phát triển phần mềm theo các nhánh phi tuần tự
  • Hỗ trợ phát triển phần mềm độc lập
  • Tương thích với các chuẩn giao tiếp và hệ thống có sẵn
  • Hỗ trợ hiệu quả file dung lượng lớn
  • Hỗ trợ nhiều phương pháp merge mã nguồn
  • Đóng gói hiệu quả phần mềm theo phiên bản

Các trạng thái của file trong Git

  • Untracked: File sẽ không được commit trong lần commit tới
  • Unmodified: Không ghi nhận thay đổi của file so với commit cuối cùng
  • Modified: Ghi nhận file có thay đổi so với commit cuối cùng
  • Staged: File đã sẵn sàng ghi vào bộ nhớ của Git nhờ lệnh commit

Luồng thay đổi dữ liệu cơ bản

  • init: Khởi tạo Git repo
  • add: Xác nhận trạng thái file sẵn sàng để commit
  • commit: Ghi nhận thay đổi xuống Git local repo
  • push: Ghi nhận thay đổi lên Git remote repo
  • fetch: Download dữ liệu mới từ một repo (mặc định là Remote repo) nhưng không tiến hành merge
  • merge: Tích hợp 2 nhánh sửa đổi lại với nhau
  • rebase: Gắn nhánh đang làm việc vào nhánh gốc theo (giúp các commit tuần tự)
  • pull: Tương đương chạy chạy hai lệnh git fetch sau đó git merge

Git command & flow cheat sheet

Tips

--

--

Tú Phạm - Tony
Eway Engineering

Ceo @AdFlex, ex CTO @ Eway, Co-founder of DYNO, Google Developer Expert on Cloud Platform