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

如何使用Git查询所有远程分支中指定文件的全部变更记录

Git查询指定文件全远程分支变更及关联分支操作方法
  • 第一步:同步最新远程分支元数据
    执行命令拉取所有远程分支的最新信息,清理本地已失效的远程分支缓存:
    git fetch origin --prune
  • 第二步:查询该文件在所有远程分支的全部变更commit
    执行以下命令,会输出所有远程分支上该文件的变更记录,包含commit哈希、提交说明:
    git log --all --remotes --follow --oneline -- <目标文件相对路径>
    参数说明:
    • --all --remotes:查询范围覆盖所有远程分支,排除本地分支干扰
    • --follow:跟踪文件重命名历史,避免文件改名后丢失更早的变更记录
    • --oneline:精简输出信息,方便快速浏览
  • 第三步:查询单个commit对应的关联远程分支
    拿到commit哈希后,执行以下命令即可查看该commit存在于哪些远程分支中:
    git branch -r --contains <commit哈希值>
  • 第四步:一次性获取所有修改过该文件的远程分支
    不想逐个commit查询的话,直接执行以下聚合命令,自动去重输出所有修改过目标文件的远程分支列表:
    for commit in $(git rev-list --all --remotes -- <目标文件相对路径>); do git branch -r --contains $commit; done | sort | uniq
    
  • 额外需求:筛选出还未合并到develop分支的相关远程分支
    如果你需要确认哪些修改了该文件的分支还没合并到develop,避免后续合并冲突,执行以下命令:
    git branch -r --no-merged origin/develop | grep -xFf <(for commit in $(git rev-list --all --remotes -- <目标文件相对路径>); do git branch -r --contains $commit; done | sort | uniq)
    

注意:所有命令中的<目标文件相对路径>需要替换为文件相对于仓库根目录的路径,路径包含空格的话需要用引号包裹。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:24:02