git-各种场景-撤销指令

一、撤销工作目录中的修改

1. 撤销文件的修改

如果你想撤销某个文件的修改,可以使用 git checkoutgit restore 命令:

# 使用 git checkout 撤销文件修改
git checkout -- <file>

# 使用 git restore 撤销文件修改
git restore <file>
2. 撤销所有文件的修改

如果你想撤销所有文件的修改,可以使用以下命令:

# 使用 git checkout 撤销所有文件修改
git checkout -- .

# 使用 git restore 撤销所有文件修改
git restore .

二、撤销暂存区中的修改

1. 撤销某个文件的暂存

如果你已经将文件添加到暂存区,但想撤销这个操作,可以使用 git resetgit restore --staged 命令:

# 使用 git reset 撤销文件暂存
git reset HEAD <file>

# 使用 git restore --staged 撤销文件暂存
git restore --staged <file>
2. 撤销所有文件的暂存

如果你想撤销所有文件的暂存,可以使用以下命令:

# 使用 git reset 撤销所有文件暂存
git reset HEAD .

# 使用 git restore --staged 撤销所有文件暂存
git restore --staged .

三、撤销最近一次的提交

如果你刚刚提交了代码,但发现有误,可以使用 git resetgit revert 命令:

1. 使用 git reset 撤销提交(保留修改)
git reset --soft HEAD~1
2. 使用 git reset 撤销提交(丢弃修改)
git reset --hard HEAD~1
3. 使用 git revert 撤销提交(生成新的反向提交)
git revert HEAD

四、修改或撤销某次提交

1. 修改最近一次提交

如果你想修改最近一次提交的信息或内容,可以使用 git commit --amend 命令:

# 修改提交信息
git commit --amend -m "新的提交信息"

# 修改提交内容(需先暂存新的内容)
git add <file>
git commit --amend --no-edit
2. 撤销指定提交

如果你想撤销某次特定的提交,可以使用 git revert 命令:

git revert <commit_hash>

五、恢复删除的分支

如果你误删了一个分支,可以使用 git reflog 找到分支的最近一次提交并恢复:

# 查看 reflog 记录
git reflog

# 恢复分支
git checkout -b <branch_name> <commit_hash>

六、丢弃未追踪的文件和目录

如果你想删除未追踪的文件和目录,可以使用 git clean 命令:

# 查看将删除的文件和目录
git clean -n

# 删除未追踪的文件
git clean -f

# 删除未追踪的文件和目录
git clean -fd

七、撤销变更记录中的合并

如果你需要撤销一次合并操作,可以使用 git revert -m 命令:

# 撤销合并提交
git revert -m 1 <merge_commit_hash>

八、总结

Git 提供了丰富的撤销和恢复操作的命令,适用于各种场景。无论是撤销工作目录中的修改、暂存区中的修改,还是撤销提交、恢复分支,Git 都能提供相应的解决方案。熟练掌握这些命令,不仅可以提高工作效率,还能减少出错的风险。

希望这篇文章对你理解和使用 Git 的撤销指令有所帮助。如果你有任何疑问或想进一步探讨的内容,欢迎在评论区留言!

个人名言:通过分享专业的技术知识和实践经验,助力更多开发者成长。

上一篇:缓存机制如何帮助减轻雪崩效应:


下一篇:SpringBoot之全局异常处理