文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
reflog
有时候不小心手残删了一个还有用的 branch,或者把一个 branch 删了才想起来它还有用,怎么办?
reflog 是 "reference log" 的缩写,它可以查看 Git 仓库中的引用的移动记录。
如果不指定引用,默认显示 HEAD 的移动记录,除此之外,可以手动加上名称来查看其他引用的移动历史,例如某个 branch:
git reflog master
现在我在 git-practice 项目中手误删除了 feature1 分支。
查看一下 HEAD 的移动历史:
HEAD 的最后一次移动行为是 [从 feature1 移动到 main],在这之后,feature1 就被删除了。
所以它之前的那个 commit 就是 feature1 被删除之前的位置,也就是第二行的 fe9f77c。
现在切换回 fe9f77c,然后重新创建 feature1:
git checkout fe9f77c
git checkout -b feature1
刚刚删除的 feature1 就找回来了。
不再被引用直接或间接指向的 commit 会在一定时间后被 Git 回收,所以使用 reflog 来找回删除的 branch 的操作一定要及时,不然有可能会由于 commit 被回收而再也找不回来
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论