如何查询git以找出包含给定提交的分支? gitk通常会列出分支,除非有太多分支,在这种情况下,它只会显示“许多(38)”或类似内容。 我需要知道完整列表,或者至少要知道某些分支是否包含提交。


#1楼

从git-branch手册页 :

 git branch --contains <commit>

仅列出包含指定提交的分支(如果未指定,则为HEAD)。 暗示--list


 git branch -r --contains <commit>

还列出远程跟踪分支 (如下面的user3941992的答案所述),即“与远程分支有直接关系的本地分支”。


另请参阅这篇git ready文章。

--contains标记将确定是否已将某个提交引入分支。 也许您已经从自己认为已应用的补丁中获得了提交SHA,或者您只是想检查是否可以将您最喜欢的开源项目提交,从而将内存使用减少了75%。

$ git log -1 tests
commit d590f2ac0635ec0053c4a7377bd929943d475297
Author: Nick Quaranto <nick@quaran.to>
Date:   Wed Apr 1 20:38:59 2009 -0400Green all around, finally.$ git branch --contains d590f2tests
* master

注意: 如果提交在远程跟踪分支上 ,请添加-a选项
(如下面的 MichielB评论)

git branch -a --contains <commit>

MatrixFrog注释它仅显示哪些分支包含该确切的提交。
如果您想知道哪些分支包含一个“等效”提交(即哪些分支已经选择了该提交),那就是git cherry

由于git cherry 比较更改集而不是提交ID(sha1) ,因此您可以使用git cherry来查找在本地进行的提交是否已在其他提交ID下应用了<upstream>
例如,如果您通过电子邮件提供<upstream>补丁程序,而不是直接推送或提取提交,则会发生这种情况。

           __*__*__*__*__> <upstream>/
fork-point\__+__+__-__+__+__-__+__> <head>

(在这里,标有' - '的提交不会与git cherry ,这意味着它们已经存在于<upstream> 。)


#2楼

您可以运行:

git log <SHA1>..HEAD --ancestry-path --merges

从输出中最后一次提交的注释中,您可以找到原始分支名称

例:

       c---e---g--- feature/         \
-a---b---d---f---h---j--- mastergit log e..master --ancestry-path --mergescommit h
Merge: g f
Author: Eugen Konkov <>
Date:   Sat Oct 1 00:54:18 2016 +0300Merge branch 'feature' into master

如何列出包含给定提交的分支?相关推荐

  1. git拉取指定分支上面的代码 提交本地分支到远程

    拉取github指定分支上的代码 方法[推荐] [0]git拉取远程代码 git clone https://xxx.git [1]git拉取远程指定分支下代码(-b 分支名称) git clone ...

  2. 【Shell】判断是否包含给定字符串

    目录 Shell判断字符串包含关系的几种方法 shell中[ ]和[[]]的区别 格式匹配 作者:bandaoyu  链接:https://blog.csdn.net/bandaoyu/article ...

  3. git创建fork仓库和关联fork仓库 git提交新分支之git删除本地分支和git删除远程分支——git remote prune origin同步分支

    git创建fork仓库和关联fork仓库 & git提交新分支之git删除本地分支和git删除远程分支--git remote prune origin同步分支 & 跨分支合并-新建分 ...

  4. C++中检查vector是否包含给定元素的几种方式

    概述 在编码中经常会遇到一种场景,就是要在数组或列表中查找某个元素是否存在,其实对于这种线性操作,自己实现一个循环来检查是非常简单的事情,那既然这样,为啥还要专门写篇博客来分享呢? 一个最重要的原因就 ...

  5. git 创建分支提交远程分支

    2019独角兽企业重金招聘Python工程师标准>>> 1,从已有的分支创建新的分支(如从master分支),创建一个dev分支 git checkout -b dev 2,创建完可 ...

  6. 算法题解:找出包含给定字符的最小窗口(枚举的一般方法)

    题目分析 题目链接:https://leetcode.com/problems... 题目补充:t可以包含重复的字符,如果t包含了n个c,那么找出的window也要包含n个c. 窗口是由2个游标确定的 ...

  7. IDEA中对Git的常规操作(合并,提交,新建分支,更新)

    IDEA中对Git的常规操作 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小袁修改了部分源码,提交到远程仓库 场景四:小张从远程仓库获取小袁的提交 ...

  8. 【Shell】判断文件是否包含给定字符串

    Shell判断文件是否包含给定字符串 给定一个字符,比方说"Hello Linduo",查找相应文件中是否包含该字符. 方式1:grep # grep -c 返回 file中,与s ...

  9. 【SVN】在Windows系统上进行SVN的基本操作(检出,更新,提交,分支合并分支,还原,制造冲突以及解决冲突,忽略)

    介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...

最新文章

  1. 一波三折用OSD部署Vista中文企业版(下):SMS2003系列之九
  2. 计算机二级学号填错了,计算机二级错题(58页)-原创力文档
  3. NFS客户端、服务器协商读写粒度(rsize、wsize)流程 【转】
  4. linux服务器centos空间满的检查及解决方法
  5. C#利用正则表达式实现字符串搜索
  6. linux vi 回到命令行,linux vi(linux系统vi命令详解)
  7. 【第123期】面试攻略:谈谈对游戏策划的理解
  8. 黑莓z10 android,黑莓Z10成功刷机完成_黑莓 Z10_手机其它OS-中关村在线
  9. 2019年第十二届中国大学生计算机设计大赛总结
  10. CANOE使用八:自动化测试OSEK网络管理(创建TestModule-搭配Panel界面及使用Capl识别配置文件TXT的自动化测试流程)
  11. 服务器pci-e硬盘,来一发干货,PCI-E SSD硬盘使用须知
  12. WPS插入页码,自动生成目录
  13. atom n270 cpu linux,继续改造ATOM N270增加千兆口自制软路由
  14. 阿里云免费ssl证书更换指南2021.4
  15. single cell 数据分析流程及原理
  16. SaleSmartly注册登录教程
  17. 在unity打开c#脚本写代码没有Unity相关提示
  18. PLUS模型教程1:认识PLUS模型
  19. Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“(已解决)
  20. 科学计算机隐藏功能,经常用手机计算器的抓紧看看,原来还隐藏着3个功能,涨知识了...

热门文章

  1. 网页素材大宝库:20套精美的清爽风格图标素材
  2. python更改端口
  3. LinkedHashMap/HashMap 介绍
  4. oracle 042 第八章:管理数据和并发处理
  5. Flash Player Control for ASP.NET
  6. PTA 数据结构与算法题目集 6-1
  7. Linux系统下 MongoDB安装搭建
  8. Sublime 编译运行JavaScript
  9. vs2012中对于entity framework的使用
  10. install and use zookeeper C client API