💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
`branch`用完就删是好习惯,但有的时候,不小心手残删了一个还有用的`branch`,或者把一个`branch`删掉了才想起来它还有用,怎么办? ## reflog :引用的 log `reflog`是 "reference log" 的缩写,使用它可以查看 Git 仓库中的引用的移动记录。如果不指定引用,它会显示`HEAD`的移动记录。假如你误删了`branch1`这个`branch`,那么你可以查看一下`HEAD`的移动历史: ~~~ git reflog ~~~ ![](https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2017/11/22/15fe3de05468c613~tplv-t2oaga2asx-zoom-in-crop-mark:3024:0:0:0.awebp) 从图中可以看出,`HEAD`的最后一次移动行为是「从`branch1`移动到`master`」。而在这之后,`branch1`就被删除了。所以它之前的那个`commit`就是`branch1`被删除之前的位置了,也就是第二行的`c08de9a`。 所以现在就可以切换回`c08de9a`,然后重新创建`branch1`: ~~~css git checkout c08de9a git checkout -b branch1 ~~~ 这样,你刚删除的`branch1`就找回来了。 > 注意:不再被引用直接或间接指向的`commit`s 会在一定时间后被 Git 回收,所以使用`reflog`来找回删除的`branch`的操作一定要及时,不然有可能会由于`commit`被回收而再也找不回来。 ## 查看其他引用的 reflog `reflog`默认查看`HEAD`的移动历史,除此之外,也可以手动加上名称来查看其他引用的移动历史,例如某个`branch`: ~~~ git reflog master ~~~