Skip to content

Git 常用命令

初始化 & 配置

bash
# 初始化 Git 仓库
git init

# 克隆远程仓库
git clone <仓库地>

# 查看 Git 配置
git config --list

# 设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

查看状态 & 历史

bash
# 查看当前状态
git status

# 查看提交历史
git log

# 简洁查看历史
git log --oneline

# 查看最近 10 次提交
git log --oneline -10

# 查看某次提交的详细信息
git show <commit-id>

# 查看代码修改
git diff

# 查看暂存区修改
git diff --cached

提交代码

bash
# 添加单个文件
git add file.txt

# 添加所有修改
git add .

# 提交
git commit -m "feat: add xxx"

# 修改上一次 commit
git commit --amend

# 添加修改并直接提交(已被 Git 跟踪的文件)
git commit -am "fix: xxx"

常见 Commit 类型:

text
feat     新功能
fix      Bug 修复
refactor 重构
docs     文档
test     测试
chore    构建/工具等杂项
perf     性能优化

分支

bash
# 查看本地分支
git branch

# 查看所有分支
git branch -a

# 创建分支
git branch feature/login

# 切换分支
git checkout feature/login

# 创建并切换
git checkout -b feature/login

# 推荐的新写法
git switch feature/login
git switch -c feature/login

# 删除本地分支
git branch -d feature/login

# 强制删除
git branch -D feature/login

合并 & Rebase

bash
# 合并分支
git merge feature/login

# 将当前分支 rebase 到 main
git rebase main

# 继续 rebase
git rebase --continue

# 取消 rebase
git rebase --abort

远程仓库

bash
# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add origin <仓库地>

# 拉取远程信息
git fetch

# 拉取并合并
git pull

# 推送当前分支
git push

# 第一次推送并建立 upstream
git push -u origin main

# 推送指定分支
git push origin feature/login

# 删除远程分支
git push origin --delete feature/login

撤销修改

bash
# 丢弃工作区某个文件的修改
git restore file.txt

# 丢弃所有工作区修改
git restore .

# 取消 git add
git restore --staged file.txt

# 撤销最近一次 commit,但保留修改
git reset --soft HEAD~1

# 撤销最近一次 commit,保留修改但取消暂存
git reset HEAD~1

# 撤销 commit,并删除修改
git reset --hard HEAD~1

⚠️ git reset --hard 会直接丢弃未保存的修改,使用前确认一下。

Stash 临时保存

bash
# 暂存当前修改
git stash

# 暂存并添加说明
git stash push -m "working on login"

# 查看 stash
git stash list

# 恢复最近一次 stash
git stash pop

# 恢复但不删除 stash
git stash apply

# 删除 stash
git stash drop

# 清空所有 stash
git stash clear

Tag

bash
# 查看 Tag
git tag

# 创建 Tag
git tag v1.0.0

# 创建带说明的 Tag
git tag -a v1.0.0 -m "release v1.0.0"

# 推送 Tag
git push origin v1.0.0

# 推送所有 Tag
git push origin --tags

# 删除本地 Tag
git tag -d v1.0.0

# 删除远程 Tag
git push origin --delete v1.0.0
最近更新