Skip to content

Git 命令手册

发布于 2025-09-04

暂存变更(git stash)

临时保存工作目录和暂存区的修改,恢复工作区到 HEAD 状态

bash
# 基本操作
git stash              # 保存当前修改(默认名称为时间戳)
git stash save "描述"  # 添加自定义描述
git stash pop          # 应用最近一次暂存并删除记录(栈顶)
git stash apply        # 应用暂存但不删除记录

# 进阶操作
git stash list         # 查看所有暂存记录
git stash drop stash@{n} # 删除指定暂存记录
git stash clear        # 清空所有暂存

解决冲突与分支切换

1. 本地与远程提交冲突

bash
git stash              # 暂存本地修改
git pull               # 拉取远程代码
git stash pop          # 应用暂存(可能需手动解决冲突)
# → 出现冲突时:解决冲突后执行 git add . && git commit

2. 带修改切换分支

bash
git stash              # 暂存当前分支的修改
git checkout dev       # 切换到目标分支
git stash pop          # 应用修改到新分支

代码回退(git reset)

bash
# 撤销提交但保留修改
git reset --soft HEAD^    # 回退到上一提交(修改保留在暂存区)
git reset --mixed HEAD^   # 回退到上一提交(修改保留在工作区,默认行为)
git reset --hard HEAD^    # 彻底丢弃上一提交的所有修改

# 多级回退
git reset HEAD~2         # 回退前2次提交

# 修改最后一次提交
git commit --amend -m "新描述"  # 重写上一次提交信息
git commit --amend file.txt    # 添加新修改到上一次提交

文件管理(git rm)

bash
# 移除已跟踪文件
git rm file.txt          # 删除文件并取消跟踪
git rm -r --cached dist  # 停止跟踪文件但保留本地副本(常用忽略历史缓存)

提交规范(Commit Message)

类型适用场景
feat新增功能
fix修复 bug
docs文档更新
style代码格式调整(空格、分号等,非 CSS 变更)
refactor重构代码(功能不变)
perf性能优化
test测试用例变更
chore构建/依赖更新、配置文件修改
revert回滚操作
build构建流程变更
ciCI 配置更新

示例
git commit -m "feat: 添加用户登录功能"


注意事项

  1. git stash pop 冲突
    当暂存内容与当前分支冲突时:

    • 手动解决冲突后执行 git add
    • 使用 git stash drop 删除已应用的暂存
  2. reset --hard 风险
    --hard永久丢弃修改!确保无需保留再使用。

  3. amend 的远程同步
    若已推送提交到远程仓库,git commit --amend 后需强制推送:

    bash
    git push --force  # 谨慎使用!确保分支只有你操作
  4. 缓存清理场景
    git rm --cached 常用于:

    • 从版本控制移除文件但保留本地
    • 修正误添加到 .gitignore 的文件