Bảng nhanh lệnh Git
Git theo dõi thay đổi tệp của bạn thành chuỗi các commit trong kho. Những lệnh này bao quát quy trình hằng ngày: tạo kho, lưu công việc, tạo nhánh, hợp nhất và chia sẻ với remote. Hãy để trang này mở khi bạn học.
| Lệnh | Tác dụng |
|---|---|
| git init | Create a new, empty Git repository in the current directory. |
| git clone | Download a remote repository and its full history to your machine. |
| git status | Show changed, staged and untracked files in the working tree. |
| git add | Stage changes (files) to be included in the next commit. |
| git commit | Record staged changes as a new commit with a message. |
| git log | Display the commit history of the repository. |
| git diff | Show unstaged or staged differences between states. |
| git branch | List, create or delete branches in the repository. |
| git checkout / switch | Switch branches or restore files (switch is the modern command). |
| git merge | Join another branch's history into the current branch. |
| git rebase | Reapply commits on top of another base commit, rewriting history. |
| git pull | Fetch from a remote and merge the changes into the current branch. |
| git push | Upload local commits to a remote repository. |
| git stash | Temporarily shelve uncommitted changes to reapply later. |
| git remote | Manage the set of remote repositories you track. |
Ghi chú
- Hầu hết lệnh chấp nhận cờ (như -m cho thông điệp hay -a cho tất cả); chạy 'git help <lệnh>' để xem danh sách đầy đủ.
- Tên nhánh rất nhẹ và có thể bỏ đi — hãy commit thường xuyên trên nhánh tính năng, rồi merge vào main.
- Trước các lệnh phá hủy như rebase hay reset, hãy chắc chắn công việc đã được commit hoặc stash.
Câu hỏi thường gặp
- Sự khác biệt giữa merge và rebase là gì?
- Merge kết hợp lịch sử bằng một commit mới có hai cha. Rebase phát lại các commit của bạn lên một nhánh khác, tạo lịch sử tuyến tính nhưng viết lại ID commit.
- Làm sao để hoàn tác một commit?
- Dùng 'git revert <commit>' để thêm một commit mới hoàn tác thay đổi (an toàn, giữ lịch sử chung). 'git reset' viết lại lịch sử và không nên dùng trên nhánh chung.
- Khác biệt giữa git pull và git fetch?
- Fetch tải commit và tham chiếu từ remote mà không đụng đến cây làm việc. Pull thực hiện fetch rồi merge hoặc rebase các thay đổi đó vào nhánh hiện tại của bạn.
- Khi nào nên dùng git stash?
- Stash tạm cất các thay đổi chưa commit để bạn đổi nhánh hoặc pull sạch sẽ, sau đó khôi phục bằng 'git stash pop'.