版本控制

Git

提交、分支、远程协作与撤销修复常用命令。 — 共 17 条

共 17 条代码片段

A. 基础操作

初始化 / 克隆

git init
git clone <url>
git clone <url> my-project
git clone --depth 1 <url>

状态与差异

git status
git status -sb
git diff
git diff --staged
git diff HEAD~1

暂存与提交

git add .
git add -p
git commit -m "feat: add login"
git commit --amend --no-edit
git commit --amend -m "新的提交说明"

查看提交历史

git log
git log --oneline -n 20
git log --graph --oneline --all
git show <commit>

B. 分支与合并

分支切换

git branch
git branch feature/login
git checkout feature/login
git switch feature/login
git switch -c feature/login
git branch -d feature/login
git branch -D feature/login

合并

git merge feature/login
git merge --no-ff feature/login
git merge --abort

变基

git rebase main
git rebase -i HEAD~3
git rebase --continue
git rebase --abort

暂存工作区

git stash
git stash push -m "wip"
git stash list
git stash pop
git stash apply
git stash drop

C. 远程协作

远程仓库

git remote -v
git remote add origin <url>
git remote set-url origin <url>
git remote remove origin

推送 / 拉取

git push
git push -u origin HEAD
git push origin feature/login
git pull
git pull --rebase
git fetch origin

跟踪远程分支

git branch -vv
git branch --set-upstream-to=origin/main main
git push -u origin feature/login

标签

git tag
git tag v1.0.0
git tag -a v1.0.0 -m "release 1.0.0"
git push origin v1.0.0
git push origin --tags

D. 撤销与修复

撤销修改

git restore file.txt
git restore --staged file.txt
git checkout -- file.txt
git reset HEAD file.txt

回退提交

git reset --soft HEAD~1
git reset --mixed HEAD~1
git reset --hard HEAD~1
git reset --hard origin/main

用新提交撤销

git revert <commit>
git revert HEAD
git revert --no-commit HEAD~3..HEAD

拣选提交

git cherry-pick <commit>
git cherry-pick <commit1> <commit2>
git cherry-pick --abort

清理未跟踪文件

git clean -n
git clean -fd
git clean -fdx