我有branch1和branch2,我想要某种形式:

git branch1 isahead branch2

这将显示branch1是否具有branch2没有的提交(并且可能还指定了那些提交)。 我无法检查差异原因branch2是否超出branch1(已提交branch1没有)。

有办法吗? 我查看git diff并找不到任何内容

我认为"前方"或"后方"一词仅适用于将本地分支与远程分支进行比较。 我不确定使用比较两个分支的术语是否有意义,因为它可能有完全不同的历史。

您可以使用

git log branch2..branch1

如果branch1在branch2之前没有提交,则输出将为空。

您也可以使用git rev-list --count branch2..branch1

这将显示未来的提交数量

资源

两者都很棒 - 第二个更适合脚本。 谢谢!

--right-only(或任何相关选项)仅适用于三点对称差异语法。 这里没有效果,可以简单地省略。

谢谢你,我根据你的评论编辑了答案;)

matthiasbe的答案很好用于许多目的,但对于脚本,只要你的Git不是太古老,1,你通常会想要使用:

if git merge-base --is-ancestor commit-specifier-1 commit-specifier-2; then

# commit specifier #1 is an ancestor of commit specifier 2

else

# commit specifier #1 is NOT an ancestor of commit specifier 2

fi

作为测试。这是因为git merge-base --is-ancestor将结果编码为退出状态,因此您无需运行单独的测试来将数字与某些内容进行比较。

请注意,一个分支尖端可能在另一个分支尖端之前和之后:

$ git rev-list --left-right --count stash-exp...master

1       6473

这里,指定的提交都不是另一个的祖先。但是,鉴于这些其他说明符:

$ git rev-list --left-right --count master...origin/master

0       103

我们看到master严格地落后于origin/master,所以:

$ git merge-base --is-ancestor master origin/master && echo can fast-forward

can fast-forward

从查看git rev-list --count origin/master..master的零计数得到的答案是一样的:

$ git rev-list --count origin/master..master

0

在Git版本1.8.0中引入了1 git merge-base --is-ancestor。一些系统仍在使用Git 1.7 ...

你已经得到了答案。所以我会添加更多内容。

git cherry命令可用于执行此操作。

git cherry branch1 branch2

这将列出branch2中的提交,但不包括branch1中的提交。如果需要,可以使用-v标志使其与哈希一起打印提交消息。

git cherry -v branch1 branch2

https://git-scm.com/docs/git-cherry

希望能帮助到你 :)

linux查看git是否运行,关于linux:使用脚本检查git分支是否领先于另一个相关推荐

  1. Linux查hudi服务的进程,Linux查看非root运行的进程

    Linux查看非root运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...

  2. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

  3. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息

    java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...

  4. linux怎么用gcc运行程序设计,linux应用程序设计--GCC程序编译

    GCC程序编译 linux系统下的GCC(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作之一.GCC可以在多种硬件平台上编译出可执行程序,其执行效率与一 ...

  5. linux查看网卡连接哪个cpu,Linux查看CPU/内存/网卡/操作系统信息

    测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CP ...

  6. linux查看某进程的连接,linux下查看指定进程的所有连接信息(转)

    定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息.通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof ...

  7. linux查看服务器品牌和型号,linux 查看服务器型号

    linux 查看服务器型号 内容精选 换一换 登录弹性云服务器查询磁盘设备信息,发现磁盘的设备名称与控制台上显示的挂载点不一致,不清楚磁盘具体挂载在哪个设备上或磁盘对应的逻辑卷标识.本节操作介绍如何根 ...

  8. linux查看主板最大内存容量,Linux 查看内存插槽数、最大容量的方法

    Linux 查看内存插槽数.最大容量的方法 查看内存插槽数: dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v R ...

  9. linux 查看磁盘信息命令行,linux命令-查看硬盘信息(磁盘阵列模式下)

    如果服务器有做磁盘阵列,那么运行fdisk -l或者smartctl –all /dev/sda,得不到你要的磁盘信息. [root@localhost /]# fdisk -l WARNING: G ...

最新文章

  1. linux图形化卡在开机界面,linux怎么在开机时进入图形界面
  2. python读什么类型文件最快的软件_使用python读取数据科学最常用的文件格式(转)...
  3. 快速上手SpyGlass——基本流程
  4. JQuery AJAX基本使用
  5. Java中如何去掉字符串中的非法字符(预防SQL注入)
  6. Go语言基础练习题系列5
  7. MapReduce如何使用多路输出
  8. GPX格式地图轨迹生成python
  9. 小米笔记本电脑启动失败
  10. Java 常见面试题
  11. 湖南省长沙市谷歌高清卫星地图下载
  12. oracle恢复误删除数据/数据回滚
  13. 广告法违禁词替换工具_广告法禁用词替代大全之第一弹
  14. 前端批量打包下载图片_个人总结 _@jie
  15. Batch Normalization详细解读
  16. 单源最短路径(dijkstra)
  17. C语言 z的意思,请问c语言t=++x||++y++z这句话是什么意思?
  18. 《Linux就该这么学》第十节课学习笔记
  19. DJI PC模拟器的一些问题
  20. PACS HIS DICOM以及相关

热门文章

  1. java doubke类型转换为String_Java基础知识面试题大集合
  2. 上传图片方向不对 php,php-上传图片时出现错误,没有这样的路径或目录
  3. oracle的catalog,Oracle Rman Catalog的创建方法和备份原理
  4. 三十六、数据仓库的实现
  5. Python 强大的信号库 blinker 入门教程
  6. 卧槽!Python学习神器~
  7. Python 骚操作:如何给你爱的读者每天发早报?
  8. android 子module混淆_Android 矢量图详解
  9. C语言科技感图片,科技感与运动范十足,几何C黑棚图曝出,年轻消费者又多了新选择...
  10. python网页交互引擎_【Kivy Python UI 框架】模板化交互界面引擎