执行git reset到中间提交:最后一次提交真的会丢失吗?
你的理解完全正确
- 当前场景下,branch2从branch1分出后,branch1没有新增提交,此时branch1的最后一次提交同时被branch2的分支指针引用着。执行
git reset --hard HEAD~重置branch1时,这个提交因为有branch2指向它,根本不会丢失——Git只会清理没有任何分支、标签、远程分支等引用指向的“悬空提交”,这里完全不符合这个情况。 - 如果需要回退多个提交,直接使用
git reset --hard <目标提交哈希值>是完全正确的操作,只要目标提交属于branch2的历史节点,就不用担心提交丢失的问题。
内容的提问来源于stack exchange,提问作者user2609605
相关产品推荐
相关产品推荐

