You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询VSO中Git分支删除历史并恢复误删分支?

别慌,我来一步步帮你解决VSO(现在已更名为Azure DevOps)Git仓库里分支误删的问题:

一、查询哪些分支被谁删除

你有两种可靠的方式追踪删除操作:

  • 通过Azure DevOps门户的审计日志
    这是最全面的方法,步骤如下:
    1. 进入你的Azure DevOps项目
    2. 点击左下角的「项目设置」
    3. 在左侧菜单选择「审计」
    4. 在筛选器里选择事件类型为「Git分支删除」,就能看到所有被删除分支的名称、删除人、操作时间甚至IP地址等细节
  • 本地Git仓库的reflog(辅助方式)
    如果你本地克隆过这个仓库,运行以下命令可以查看本地记录的分支变动:
    git reflog show --all
    
    日志里会包含类似 [提交哈希] HEAD@{n}: branch: deleted feature/user/xxx 的记录,但这个只限于你本地操作或同步过的分支,不如审计日志全面。
二、恢复已删除的分支

只要分支的提交记录还在仓库的保留期限内(Azure DevOps默认保留90天),完全可以恢复:

  • 已知分支最后提交哈希的情况
    如果你通过审计日志、reflog或者提交历史找到了分支最后一次提交的哈希值,直接在本地执行:
    git checkout -b feature/user/你的分支名 <提交哈希值>
    
    然后推送到远程仓库:
    git push origin feature/user/你的分支名
    
  • 未知提交哈希的情况
    用Azure DevOps自带的恢复功能更省心:
    1. 进入仓库的「分支」页面
    2. 点击右上角的「...」按钮,选择「恢复分支」
    3. 在弹出的窗口里,会列出所有近期被删除的分支(带删除时间),找到你需要的分支后点击「恢复」即可,分支会自动回到远程仓库。
三、查找Git分支的删除历史

除了上面提到的方法,补充两个关键点:

  • 优先用Azure DevOps审计日志:它是官方的全局记录,不管是谁在哪个终端操作的删除,都会被记录下来,筛选「Git分支删除」事件就能导出完整的删除历史
  • 本地reflog补充:如果需要查看你自己本地操作的分支删除记录,运行git reflog就能看到你本地仓库所有分支的创建、切换、删除等操作历史,但仅限本地范围。

内容的提问来源于stack exchange,提问作者Mathiyazhagan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:18:47