我正在开发一个与CruiseControl.NET一起使用的构建自动化。 在我的ccnet.config文件中,我有以下sourcecontrol标记:
<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扩展,我将有一个“无分支”而不是我选择的分支。 这会导致问题,特别是当我尝试在构建脚本中检查内容时,因为我收到一条消息:“当前不在任何分支上。”
如何设置要使用和检出的分支? (branch属性是分支的正确名称,autoGetSource设置为true)
谢谢!
编辑:我在控制台中运行了CC.net,我得到了他的信息:[Git]调用git checkout -q -f origin / release-0.9.19
正确调用结帐。但它出于某种原因在运行时被“清除”。 也许是因为
[Git]调用git clean -d -f -x
答案 0 :(得分:1)
git源代码控制提供程序从未被设计为与用户“用户”一起工作。因此,它仅支持签出远程分支而不创建本地跟踪分支以避免合并冲突。
那么为什么你在与CCNet相同的工作目录中工作?