为什么CruiseControl.NET';s GIT源代码控制块使用“;log-m";得到修改?

为什么CruiseControl.NET';s GIT源代码控制块使用“;log-m";得到修改?,git,cruisecontrol.net,Git,Cruisecontrol.net,我们有一个git存储库,它有两个分支,master和dev。新的东西在dev中完成。修复在master中完成,然后合并到dev中。CruiseControl.NET为我们处理构建。我们遇到了一个问题,git源代码控制块列出了对未更改文件的修改。这似乎是因为它使用git log和-m来检测更改 以下是我们采取的步骤: 在dev分支上,进行单个更改 提交并将开发人员推送到远程存储库 然后,CruiseControl.Net获取最新版本,构建并发布此单一更改 在主分支上,更改另一个文件 承诺 将主机合

我们有一个git存储库,它有两个分支,master和dev。新的东西在dev中完成。修复在master中完成,然后合并到dev中。CruiseControl.NET为我们处理构建。我们遇到了一个问题,git源代码控制块列出了对未更改文件的修改。这似乎是因为它使用git log和-m来检测更改

以下是我们采取的步骤:

  • 在dev分支上,进行单个更改
  • 提交并将开发人员推送到远程存储库
  • 然后,CruiseControl.Net获取最新版本,构建并发布此单一更改
  • 在主分支上,更改另一个文件
  • 承诺
  • 将主机合并到开发中
  • 将dev推送到远程存储库
  • 然后,CruiseControl.Net获取最新版本,构建并发布此更改和以前的更改 在步骤8中,使用--name only和-m选项运行git日志以检测修改-m将列出合并中包含的所有文件,其中包括在步骤1中更改的文件。但是这个文件在第4步中没有被修改,所以在第8步中不应该被列为修改


    那么为什么要使用-m呢?

    引入Afaik-m来正确检测合并提交

    请参见此更改: