Tài liệu tham khảo Git có thể tìm kiếm và in được — config, nhánh, merging, rebasing, remote, stashing, tag và hoàn tác thay đổi. Miễn phí.

Setup & config

10
git config --global user.name "Jane Doe"
Set the name attached to your commits
git config --global user.email "jane@example.com"
Set the email attached to your commits
git config --global init.defaultBranch main
Make new repos start on a "main" branch
git config --global core.editor "code --wait"
Use VS Code as the default Git editor
git config --global pull.rebase true
Rebase instead of merge when pulling
git config --global alias.co checkout
Create a shortcut alias (git co)
git config --global --list
List all global configuration values
git config user.email
Print the email for the current repo
git config --global color.ui auto
Enable colored command-line output
git help <command>
Open the manual page for a command

Create & clone repos

9
git init
Initialize a new repo in the current folder
git init my-project
Create a new repo in a new directory
git clone https://example.com/repo.git
Clone a remote repo over HTTPS
git clone git@example.com:user/repo.git
Clone a remote repo over SSH
git clone <url> my-dir
Clone into a specific directory name
git clone --depth 1 <url>
Shallow clone with only the latest commit
git clone --branch dev <url>
Clone and check out a specific branch
git clone --recurse-submodules <url>
Clone and initialize all submodules
git remote add origin <url>
Attach a remote to an existing local repo

Staging & committing

11
git add file.txt
Stage a single file for the next commit
git add .
Stage all changes in the current directory
git add -A
Stage all changes including deletions
git add -p
Interactively stage selected hunks
git commit -m "Add login form"
Commit staged changes with a message
git commit -am "Fix typo"
Stage tracked files and commit in one step
git commit --amend
Edit the most recent commit
git commit --amend --no-edit
Add staged changes to the last commit
git rm file.txt
Remove a file and stage the deletion
git mv old.txt new.txt
Rename or move a file and stage it
git reset file.txt
Unstage a file but keep its changes

Branches

10
git branch
List all local branches
git branch -a
List local and remote-tracking branches
git switch -c feature/login
Create a new branch and switch to it
git switch main
Switch to an existing branch
git checkout -b hotfix
Classic way to create and switch branches
git branch -m old-name new-name
Rename a branch
git branch -d feature/login
Delete a merged local branch
git branch -D feature/login
Force-delete an unmerged local branch
git push origin --delete feature/login
Delete a branch on the remote
git switch -
Switch back to the previous branch

Merging & rebasing

10
git merge feature/login
Merge a branch into the current one
git merge --no-ff feature/login
Merge and always create a merge commit
git merge --squash feature/login
Combine a branch into one staged change
git merge --abort
Cancel a merge with conflicts
git rebase main
Replay current branch commits onto main
git rebase -i HEAD~3
Interactively edit the last 3 commits
git rebase --continue
Resume a rebase after resolving conflicts
git rebase --abort
Cancel an in-progress rebase
git cherry-pick <hash>
Apply a single commit onto the current branch
git mergetool
Launch a tool to resolve merge conflicts

Remotes & syncing

11
git remote -v
List configured remotes and their URLs
git remote add upstream <url>
Add a second remote named upstream
git remote set-url origin <url>
Change the URL of an existing remote
git fetch
Download remote changes without merging
git fetch --all --prune
Fetch all remotes and drop stale branches
git pull
Fetch and integrate remote changes
git pull --rebase
Pull and rebase local commits on top
git push
Upload local commits to the remote
git push -u origin main
Push and set the upstream tracking branch
git push --force-with-lease
Safely force-push without clobbering others
git push origin --tags
Push all local tags to the remote

Inspecting & comparing

10
git status
Show staged, unstaged, and untracked files
git status -s
Show status in a compact short format
git diff
Show unstaged changes against the index
git diff --staged
Show changes staged for the next commit
git diff main..feature
Compare two branches
git diff HEAD~1 HEAD
Compare the last commit with its parent
git show <hash>
Show the details and diff of one commit
git show HEAD:file.txt
Show a file as it was in a commit
git log --stat
Show commits with changed-file summaries
git shortlog -sn
Count commits grouped by author

Undoing changes

10
git restore file.txt
Discard unstaged changes in a file
git restore --staged file.txt
Unstage a file but keep its changes
git restore --source=HEAD~1 file.txt
Restore a file from an earlier commit
git checkout -- file.txt
Classic way to discard local changes
git reset --soft HEAD~1
Undo last commit, keep changes staged
git reset --mixed HEAD~1
Undo last commit, keep changes unstaged
git reset --hard HEAD~1
Undo last commit and discard changes
git revert <hash>
Create a new commit that undoes a commit
git clean -fd
Delete untracked files and directories
git clean -nd
Preview what clean would remove

Stashing

10
git stash
Save uncommitted changes and clean the tree
git stash push -m "wip"
Stash changes with a descriptive message
git stash -u
Stash including untracked files
git stash list
List all stashed change sets
git stash show -p
Show the diff of the latest stash
git stash apply
Reapply the latest stash and keep it
git stash pop
Reapply the latest stash and drop it
git stash apply stash@{2}
Reapply a specific stash by index
git stash drop stash@{0}
Delete a single stash entry
git stash clear
Delete all stash entries

Tags

9
git tag
List all tags
git tag v1.0.0
Create a lightweight tag at HEAD
git tag -a v1.0.0 -m "Release 1.0.0"
Create an annotated tag with a message
git tag -a v1.0.0 <hash>
Tag a specific past commit
git show v1.0.0
Show details for a tag
git push origin v1.0.0
Push a single tag to the remote
git push origin --tags
Push all local tags to the remote
git tag -d v1.0.0
Delete a tag locally
git push origin --delete v1.0.0
Delete a tag on the remote

Logs & history

12
git log
Show the full commit history
git log --oneline
Show a compact one-line-per-commit log
git log --oneline --graph --all
Visualize branches as an ASCII graph
git log -p
Show commit history with diffs
git log --author="Jane"
Filter history by author
git log --since="2 weeks ago"
Filter history by date range
git log --pretty=format:"%h %an %s"
Customize the log output format
git blame file.txt
Show who last changed each line
git reflog
Show the history of where HEAD has been
git bisect start
Begin a binary search for a bad commit
git bisect good <hash>
Mark a commit as known-good during bisect
git bisect bad
Mark the current commit as bad

Không có mục nào khớp với “:q”.


Giới thiệu về Tài liệu tham khảo nhanh Git

Bảng tra cứu lệnh Git này tổ chức việc quản lý phiên bản theo tác vụ: thiết lập và cấu hình, tạo và clone repo, staging và commit, nhánh, merge và rebase, remote và đồng bộ, kiểm tra và so sánh, hoàn tác thay đổi, stash, tag, cùng log và lịch sử.

Các phần phản ánh cách các câu hỏi về Git thực sự phát sinh — "làm sao để hoàn tác cái này?", "làm sao để di chuyển nhánh này?", "điều gì đã thay đổi giữa các commit này?" — nên lệnh bạn cần nằm ngay cạnh các biến thể của nó, mỗi cái kèm mô tả một câu về việc nó làm gì và khi nào nên dùng.

Bảng này miễn phí và chạy hoàn toàn phía client. Lọc mọi lệnh trực tiếp bằng ô tìm kiếm, nhảy giữa các phần từ mục lục cố định, sao chép bất kỳ lệnh nào chỉ bằng một cú click và in trang ra — riêng phần hoàn tác cũng đáng để dán lên tường.

Cách sử dụng Tài liệu tham khảo nhanh Git

  1. Lướt qua mười một phần, từ Setup & config qua Undoing changes đến Logs & history.
  2. Tìm một tác vụ như rebase, stash hoặc amend để lọc các lệnh trực tiếp.
  3. Nhảy đến một phần như Remotes & syncing qua thanh bên cố định.
  4. Nhấp vào một lệnh hoặc biểu tượng sao chép của nó để sao chép, rồi điều chỉnh tên nhánh hoặc remote trước khi chạy.
  5. In bảng để có tài liệu tham khảo Git ngoại tuyến.

Câu hỏi thường gặp

Mười một phần: thiết lập và cấu hình, tạo và clone, staging và commit, nhánh, merge và rebase, remote và đồng bộ, kiểm tra và so sánh, hoàn tác thay đổi, stash, tag, cùng log và lịch sử.

Có. Một phần riêng về hoàn tác thay đổi bao gồm các dạng reset, restore và revert khác nhau đặt song song với mô tả, để bạn có thể chọn đúng cái phù hợp với tình huống của mình thay vì đoán mò.

Có. Phần merging và rebasing hiển thị cả hai quy trình cùng các biến thể phổ biến của chúng, và các phần nhánh cùng remote bao gồm các lệnh xung quanh để di chuyển công việc.

Có. Nhấp vào lệnh hoặc biểu tượng sao chép hiện khi rê chuột và nó sẽ đi thẳng vào clipboard của bạn — chỉ cần thay bằng nhánh, remote hoặc tham chiếu commit của riêng bạn.

Có, hoàn toàn miễn phí — có thể tìm kiếm trong trình duyệt của bạn, in được và sử dụng không cần tài khoản.


Tìm kiếm phổ biến
git cheat sheet git commands list git rebase vs merge git undo last commit git reset vs revert git stash commands git branch commands git log options
Cần trợ giúp?
Gặp sự cố với công cụ này? Hãy cho đội ngũ của chúng tôi biết.
Báo cáo sự cố

Thêm công cụ miễn phí này vào trang web của riêng bạn — sao chép và dán mã bên dưới.