为什么CruiseControl.NET的GIT源代码控制块使用“log -m”进行修改?

时间:2013-06-05 09:42:46

标签: git cruisecontrol.net

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

以下是我们采取的步骤:

  1. 在开发分支上,进行一次更改。
  2. 提交并将dev推送到远程存储库。
  3. CruiseControl.Net然后获取最新版本,构建并发布此单一更改。
  4. 在主分支上,更改另一个文件。
  5. 提交。
  6. 将master合并为dev。
  7. 将dev推送到远程存储库。
  8. CruiseControl.Net然后获取最新版本,构建并发布此次和之前的更改!
  9. 在步骤8中,使用--name-only和-m选项运行git log以检测修改。 -m导致列出合并中包含的所有文件,其中包括在步骤1中更改的文件。但是此文件未在步骤4中修改,因此不应在步骤8中将其列为修改。

    为什么-m使用?

1 个答案:

答案 0 :(得分:0)

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

请参阅此更改:https://github.com/ccnet/CruiseControl.NET/commit/a65380e7d302370cfcb6fa3905dba0ed1b731458