Git Command
Note về cách dùng git command
Cấu hình
Cấu hình các thông tin khi cài git lần đầu.
git config --global user.name "username"
git config --global user.email "email"
git config --global init.defaultBranch main💡Cấu hình editor cho commit, rebase, git sẽ mở editor này options: "code --wait, vim, nano"
git config --global core.editor "vim"
Xem lại danh sách Config
git config --list --globalKhởi tạo local repo
Lệnh này tạo thư mục .git bên trong thư mục hiện tại. Thư mục hiện thành một kho lưu trữ Git
git initKết nối với kho lưu trữ từ xa (remote)
URL có thể là đường dẫn một thư mục Git
git clone <URL_của_kho_lưu_trữ>Ví dụ clone 1 repo từ GitHub
Đổi tên branch local (master sang main)
0) Khởi tạo & Remote
1) Staging & Commit
2) Sửa commit cuối (amend)
Chỉ dùng khi commit đó chưa push. Nếu đã push → cân nhắc
--force-with-lease.
3) Xem lịch sử & khác biệt
4) Branch căn bản
5) Merge (kết nhánh)
6) Rebase (làm thẳng lịch sử)
Mục tiêu: “phát lại” commit của nhánh đang làm trên đỉnh main.
Phản biện: Đang rebase không dùng
git pull. Kết thúc sạch rồi mớigit push. Nếu nhánh đã push trước đó, sau rebase có thể cần:
Dùng rebase trên nhánh cá nhân. Nhánh shared thì ưu tiên merge.
7) Khôi phục & quay lui
7.1) Khôi phục file lỡ xóa/chỉnh (chưa commit)
7.2) Reset (di chuyển HEAD về commit trước)
Dùng
--hardmất dữ liệu chưa commit. Nếu đã push, dùnggit revertan toàn hơn:
8) Đồng bộ remote
9) Xử lý conflict: Merge vs Rebase
Trong merge:
git merge <branch>sửa conflict →
git add .git commit(hoặcgit merge --continuetrên Git mới)
Trong rebase:
git rebase <base>sửa conflict →
git add .git rebase --continuehủy rebase:
git rebase --abort
Đừng chạy git pull rồi lại git rebase --continue. Hai quy trình khác nhau.
10) Cherry-pick & Stash
Cherry-pick commit chưa ổn định có thể gây xung đột dây chuyền. Stash nhiều lớp dễ rối — đặt message:
git stash push -m "desc".
11) Các lệnh “tà đạo” (cân nhắc kỹ)
git push --force: ghi đè remote. Thay bằng--force-with-leaseđể không đè mất việc của người khác.git rebase -itrên nhánh đã share: chỉ làm khi mọi người đồng thuận.git reset --hard: tránh dùng trên nhánh share; local thì luôn chắc chắn đã backup.git reflog delete,git gc: có thể làm khó việc cứu commit. Trước khi “dọn rác”, hãy chắc chắn team không cần các ref cũ.
12) Mẫu quy trình “sạch” khi làm feature
Last updated