在分离的HEAD模式下git reset --hard <ref>
是否安全(不考虑未经修改的更改)? AFAIK,所有这一切都是将HEAD指向ref并检查索引和工作树,就像git checkout <commit>
那样,并且相同的沙箱仍然适用。它是否正确?所以没有危险,只要没有移动分支尖端,对吧?这在分离的HEAD模式下不会发生吗?
答案 0 :(得分:1)
如果你有一个分离的HEAD,那么只有HEAD被移动到<ref>
。如果您检出分支,那么它也会将分支移动到该状态。
有一点需要注意的是,实际上没有提交任何提交,使用普通git log
命令可能无法再显示这些提交 - 但除非您执行git gc --prune
(git clean)或其他内容,否则您将仍然可以在使用git fsck --lost-found
和git log --walk-reflogs --oneline --decorate
之类的命令发出重置命令之前进入你开始的提交...即git永远不会删除任何东西,除非你强制它。