我使用ANT创建了VSTS构建作业。我已经执行了以下步骤。
我尝试使用develop分支对其中一个沙箱运行构建,但是有限的Package.xml包含在开发中更改的组件。
获得以下错误。
现在我知道一切都在我的开发分支中,但是定义了非常具体的package.xml,因为我想要部署特定的组件而不是全部。
有任何帮助来解决这个问题吗?或者无论如何我们可以通过提交提交ID来提取源/文件/组件,例如从此提交转发等。
答案 0 :(得分:0)
或者无论如何我们可以通过提及来拉取源/文件/组件 提交ID就像来自此提交等等。
您可以先清理git repo的工作目录,然后在某次提交后获取更改的文件。最后,检查git工作目录中已更改的文件,以便只将更改的文件保存在git repo中。
详细步骤如下:
清理git repo中工作目录的所有文件
git rm -rf .
在特定提交后获取更改的文件
git diff <commit> <current branch name> --name-only
Get the changed file into working directory
git checkout HEAD -- <filename>
假设您要保留仅在develop
分支上更改的文件(在master
分支4c671
之后),然后是示例shell脚本,如下所示:
git rm -rf .
for t in $(git diff 4c671 develop --name-only)
do
{
echo "changed file $t"
git checkout HEAD -- $t
}
done
或
git rm -rf .
for t in $(git diff master develop --name-only)
do
{
echo "changed file $t"
git checkout HEAD -- $t
}
done