

























在团队协作开发中,有时我们会不小心将错误的代码推送到远程仓库。这时候不能简单地使用 git reset,因为它会重写提交历史,影响其他协作者。git revert 是更安全的解决方案。
git revert 命令会创建一个新的提交,这个提交会撤销指定提交所做的更改。这种方式不会修改项目历史,而是添加一个新的提交来"回滚"之前的更改。
首先,我们需要找到要撤销的提交的哈希值:
git log --oneline
输出示例:
a1b2c3d (HEAD -> main) 添加新功能
e4f5g6h 修复bug
i7j8k9l 初始提交
假设我们要撤销 a1b2c3d 这个提交:
git revert a1b2c3d
如果撤销的提交与当前代码有冲突,Git 会提示你解决冲突。解决后:
git add .
git revert --continue
git push
git revert older_commit^..newer_commit
git revert -n a1b2c3d
git revert -m 1 merge_commit_hash
假设我们有以下提交历史:
d467890 (HEAD -> main) 添加支付功能
c356781 更新用户界面
b245670 修复登录问题
a123456 初始项目结构
要撤销"添加支付功能"这个提交:
git revert d467890
Git 会打开编辑器让你编辑 revert 提交的信息,保存退出后,历史中将新增一个撤销提交。
revert 会创建一个新的提交,不会删除原有的提交
对于已经 revert 的提交,再次 revert 这个 revert 提交可以恢复原更改
对于合并提交,需要使用 -m 选项指定要保留的主线
git reset:重写历史,适合本地未推送的更改
git checkout:丢弃工作目录的更改
git revert:安全撤销已推送的更改
通过合理使用 git revert,你可以安全地撤销已推送到远程仓库的更改,而不会影响团队其他成员的工作。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。