我遇到一个问题,使我以前的所有提交都显示为每个新构建中的相关更改。我认为该问题与使用通配符分支模式自动触发构建定义有关。我使用模式' release / *'在分支名称的任何提交上触发我们的发布版本。我们软件的每个生产版本都从一个新的发布分支开始,该分支具有以下命名约定'发布/ 1'发布/ 2'等,其中数字与我们发布的软件版本匹配。
问题是当'发布/ 2'构建得到运行,相关的更改显示所有提交到“释放/ 2”的提交。包括导致发布/ 1'的提交。每个新版本都会继续。
我认为它应该工作的方式是仅显示当前构建和之前成功构建之间发生的更改。
对此问题的任何见解将不胜感激。
重现此问题的步骤:
git push origin
)创建第一个发布分支
git checkout -b release/1
git commit -am "Updated to version 1"
git push origin release/1
git checkout master
git merge release/1
git branch -d release/1
git push origin -d release/1
创建第二个发布分支
git checkout -b release/2
git commit -am "Updated to version 2"
git push origin release/2
此时查看最新版本'相关更改您将看到它继续累积存储库的整个历史记录 而不是仅仅是当前构建和上一次成功构建之间的提交,尽管事实上它正在运行相同的构建定义
答案 0 :(得分:0)
它也基于源,而不仅仅是构建,所以关于release / 2,它将当前构建与release / 2分支源的上次成功构建进行比较,因此它包括release / 1中的commit。
我建议您可以通过Pull Request与成功构建合并更改,并检查此构建中的更改。 (Branch policy)