环境:
在对分支b1上的文件test.txt进行更改时,我看到了创建拉取请求的提示,我做了(id 1)。然后,在另一个VM上:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_01
git checkout my_pr_branch_01
文件test.txt显示我的更改,没问题。
在早期的VM上,对test.txt进行了更多更改(并推送到origin b1
)。拉请求现在有2个提交。这就是出现混乱的地方:
当我在VM2上运行时:
git checkout master
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_01
git checkout my_pr_branch_01
预计也会看到第二次提交的变化。没找到他们。
然后跑了:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_02
git checkout my_pr_branch_02
第二次提交的更改仍然没有出现在test.txt中。
然后点击stash UI,查看pull请求的diff选项卡。第二次提交的更改确实显示出来。然后在VM2上:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_03
git checkout my_pr_branch_03
现在我确实看到test.txt带有第二次提交的更改。
以下是问题:
我的最终目的是在Jenkins上使用Stash Pull Request构建器插件执行大量工作(通过构建流程启动)。为此,我试图找到一种让所有工作都使用相同代码的有保证的方法。
答案 0 :(得分:3)
Atlassian Stash的开发人员post确认refs/pull-requests/*/from
和refs/pull-requests/*/merge
已更新"懒惰"以便提供更好的缩放。触发更新的事件之一是通过Web UI访问pull-request。因此,上述行为符合实施。