我正在开发与 CruiseControl.NET 一起使用的构建自动化。在我的 ccnet.config 文件中,我有以下源代码控制标记:
<sourcecontrol type="git">
<repository>sourceControlAddress</repository>
<branch>release-0.9.19</branch>
<autoGetSource>true</autoGetSource>
<fetchSubmodules>true</fetchSubmodules>
<executable>C:\Program Files (x86)\Git\cmd\git.exe</executable>
<tagOnSuccess>false</tagOnSuccess>
<commitBuildModifications>false</commitBuildModifications>
<commitUntrackedFiles>false</commitUntrackedFiles>
<tagCommitMessage>Build {0}</tagCommitMessage>
<tagNameFormat>Build-{0}</tagNameFormat>
<committerName>Build</committerName>
<committerEMail>build@build.com</committerEMail>
<workingDirectory>d:\GIT\Sources\WEB</workingDirectory>
<timeout>60000</timeout>
</sourcecontrol>
我目前唯一的问题是它“删除”了我拥有的任何结帐信息。例如:如果我在 git 扩展中打开解决方案并检查一个分支然后运行自动构建,如果我再次打开 git 扩展,我将有一个“无分支”而不是我选择的分支。这会导致问题,特别是当我尝试在构建脚本中签入时,因为我收到一条消息说:“目前不在任何分支上。”
如何设置要使用和签出的分支?(分支属性 hsa 是正确的分支名称,并且 autoGetSource 设置为 true)
谢谢!
编辑:我在控制台中运行 CC.net,我得到了他的信息:
[Git] 调用 git checkout -q -f origin/release-0.9.19
结帐被正确调用。但是,由于某种原因,它在运行时被“清除”了。也许是因为
[Git] 调用 git clean -d -f -x
?