Git 撤销 Commit 和 Add 操作指南

问题描述

当我们创建了一个 commit,但发现其中包含了一些不应该在本次提交中的文件时,需要撤销 commit 和 add 操作。

解决步骤

1. 查看当前状态

git status

2. 撤销最近的 commit

git reset --soft HEAD^

注:这会将文件恢复到已暂存(staged)状态

3. 从暂存区撤销不需要的文件

# 撤销单个文件
git reset HEAD 文件名

# 撤销多个文件
git reset HEAD 文件名1 文件名2

# 撤销所有文件
git reset HEAD .

4. 重新添加需要的文件

git add 需要的文件1 需要的文件2

5. 重新提交

git commit -m "新的提交信息"

其他常用命令

查看暂存区文件

git ls-files --stage

撤销工作区修改

git checkout -- 文件名

查看修改内容

git diff

注意事项

reset 参数说明

  • --soft: 只撤销 commit,保留修改
  • --mixed(默认): 撤销 commit 和 add,保留修改
  • --hard: 撤销 commit 和 add,并删除修改(慎用)

完整操作示例

# 撤销最近的 commit
git reset --soft HEAD^

# 查看状态
git status

# 撤销不需要的文件的暂存
git reset HEAD 不需要的文件

# 添加需要的文件
git add 需要的文件

# 重新提交
git commit -m "新的提交信息"

远程仓库注意事项

如果 commit 已经推送到远程:

  1. 不建议使用 reset
  2. 可以创建新的 commit 来修正错误
  3. 或者与团队沟通后使用 force push(慎用)

参考资料

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容