git reflog恢复
git本地仓库是否只要commit过的内容,不管之后经过多少次rebase,rest --hard等操作,都可以通过reflog恢复?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
git本地仓库是否只要commit过的内容,不管之后经过多少次rebase,rest --hard等操作,都可以通过reflog恢复?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
并不是,因为 reflog 数据保存在 .git/logs/ 目录下,当该目录没有内容时无法进行 git reflog 操作。
那么只要保证这个不清空这个目录就能随便进行危险操作?
依旧不行,因为 git 会不定时的自动运行 gc,而 git 的 gc 任务会将不被任何 commit 引用并且已存在一段时间 (数月) 的对象删除。
不要想着能恢复,就随便做一些危险操作,万一哪天真没法恢复了,就悲剧了,要清楚工具的最佳效用是靠人去发挥的,最重要的还是保持协作流程规范。
请参考:Git使用规范流程