git 什么时候检测到拉取请求的更新?
When does git detect updates to pull request?
环境:
- Atlassian Stash v3.11.2 (https://hub.docker.com/r/atlassian/stash/)
- Git 客户端 (1.9.1)
- 还有一个git新手(我)
在将更改推送到 b运行ch b1 上的文件 test.txt 时,我看到创建拉取请求的提示,我这样做了 (id 1)。然后,在另一个虚拟机上:
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 中。
然后点击隐藏 UI,并查看拉取请求的差异选项卡。第二次提交的变化确实出现了。然后在 VM2 上:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_03
git checkout my_pr_branch_03
现在我确实看到了 test.txt 与第二次提交的变化。
下面是问题:
- 它什么时候检测到更新的提交(除了访问拉取请求 URL)?
- 如何让 git 知道拉取请求的更新提交?
- 如何让它(肯定地)忽略拉取请求的更新提交?
我的最终目的是在 Jenkins 上使用 Stash Pull Request 构建器插件来处理许多作业(通过构建流程启动)。为此,我试图想出一种让所有作业都使用相同代码的可靠方法。
Atlassian Stash 开发人员的 post 确认 refs/pull-requests/*/from
和 refs/pull-requests/*/merge
得到更新 "lazily" 以提供更好的缩放。触发更新的事件之一是通过网络访问拉取请求 UI。因此,上述行为与实现一致。
环境:
- Atlassian Stash v3.11.2 (https://hub.docker.com/r/atlassian/stash/)
- Git 客户端 (1.9.1)
- 还有一个git新手(我)
在将更改推送到 b运行ch b1 上的文件 test.txt 时,我看到创建拉取请求的提示,我这样做了 (id 1)。然后,在另一个虚拟机上:
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 中。
然后点击隐藏 UI,并查看拉取请求的差异选项卡。第二次提交的变化确实出现了。然后在 VM2 上:
git fetch origin +refs/pull-requests/1/merge:my_pr_branch_03
git checkout my_pr_branch_03
现在我确实看到了 test.txt 与第二次提交的变化。
下面是问题:
- 它什么时候检测到更新的提交(除了访问拉取请求 URL)?
- 如何让 git 知道拉取请求的更新提交?
- 如何让它(肯定地)忽略拉取请求的更新提交?
我的最终目的是在 Jenkins 上使用 Stash Pull Request 构建器插件来处理许多作业(通过构建流程启动)。为此,我试图想出一种让所有作业都使用相同代码的可靠方法。
Atlassian Stash 开发人员的 post 确认 refs/pull-requests/*/from
和 refs/pull-requests/*/merge
得到更新 "lazily" 以提供更好的缩放。触发更新的事件之一是通过网络访问拉取请求 UI。因此,上述行为与实现一致。