Git - 两种方式撤销已提交到远端仓库的记录并删除提交记录
文章目录
- 命令行方式
命令行方式
-
确定要撤销的提交记录
首先,使用以下命令查看提交历史:git log
找到想撤销的提交记录的哈希值(SHA) ,比如
9c9c98d6f7f28c41d971f8efd51ed31f9720792c
-
撤销提交记录
根据需求选择以下两种方法之一:
-
使用
git revert
:如果想保留提交历史并创建一个新的提交来撤销之前的更改,使用:git revert <commit_hash>
这会创建一个新的提交,内容是撤销指定提交的更改。
-
使用
git reset
:如果希望彻底删除提交记录,可以使用:--soft
选项:撤销提交,但保留更改在暂存区。git reset --soft <commit_hash>
--hard
选项:完全撤销提交及其更改(不可恢复)。git reset --hard <commit_hash>
-
-
推送更改到远端仓库
如果使用git revert
,只需执行:git push origin <branch_name>
如果使用
git reset
,需要强制推送(注意:这会覆盖远端历史,其他人可能会受到影响):git push origin <branch_name> --force
-
注意事项和风险
- 团队协作:使用
git reset --hard
和强制推送会影响其他协作开发者。 - 备份:在进行重要操作前,最好先备份代码或创建一个新分支。
- 历史记录:撤销的提交记录在使用
git revert
时仍然保留,但在git reset
后会被删除,确保了解其影响。
- 团队协作:使用