GIT(CLI)-获取(仅)两个分支之间不同的提交列表

GIT(CLI)-获取(仅)两个分支之间不同的提交列表,git,Git,我可以找到许多类似的问题,但似乎没有一个是我所需要的: 获取分支a中而非分支B中的所有提交的列表(以类似于phpstorm工作方式的方式) 我的意思是一个完整的列表,所有丢失的提交,每个提交一行 cli命令就是我要找的(git log master..staging可以,但它的输出是多行的) 基本上,我希望通过cli交叉检查主分支上是否缺少与生产分支相比的内容,并且我希望通过脚本(bash)以编程方式进行交叉检查 我正在寻找一个命令行,类似于git log master..staging,但

我可以找到许多类似的问题,但似乎没有一个是我所需要的:

  • 获取分支a中而非分支B中的所有提交的列表(以类似于phpstorm工作方式的方式)
  • 我的意思是一个完整的列表,所有丢失的提交,每个提交一行
  • cli命令就是我要找的(
    git log master..staging
    可以,但它的输出是多行的)
基本上,我希望通过cli交叉检查主分支上是否缺少与生产分支相比的内容,并且我希望通过脚本(bash)以编程方式进行交叉检查

我正在寻找一个命令行,类似于
git log master..staging
,但输出更简洁。

解决方案

  • --无寻呼机->输出中无分页
  • --一行->一行中的所有内容
  • --合并->仅显示合并
git--无寻呼机日志--一行--装饰--合并主机..登台


我最喜欢的格式是

git log --oneline --decorate B..A

我最喜欢的格式是

git log --oneline --decorate B..A
如果您正在编写脚本并且只需要提交ID,请执行以下操作:

git rev-parse master..staging
如果您正在编写脚本并且只需要提交ID,请执行以下操作:

git rev-parse master..staging

使用
merge base
不是多余的吗?根据定义,不在B中的提交不在
merge base B anything
中,在
A和B
中的提交也在
merge base A B
中。多么正确!与显式合并基相比,查找起来有点困难,但非常正确。第一个的输出非常完美,但我需要它,而不需要分页
使用
合并基不是多余的吗?根据定义,不在B中的提交不在
merge base B anything
中,在
A和B
中的提交也在
merge base A B
中。多么正确!与显式合并基相比,查找起来有点困难,但非常正确。第一个的输出是完美的,但我需要它没有分页
第一个的输出是完美的,但我需要它没有分页
@WonderLand:Git仅在stdout连接到tty时才启用寻呼机。一旦你通过管道输出或在终端以外的地方运行它,将不会调用寻呼机。第一个的输出是完美的,但我需要它,而不需要分页
@WonderLand:Git仅在stdout连接到tty时启用寻呼机。一旦您通过管道传输输出或在终端以外的地方运行输出,将不会调用寻呼机。