如果“Build.SourceBranch”与“master”或“release”匹配,则可以添加带有 Condition 的 PowerShell 构建步骤,然后 PowerShell 脚本类似于此示例。这会一次性推动所有内容,而不是每次提交。这也可以赶上落后的回购。
# Test to see if remote alias already exists
git ls-remote ssh://user@host:1234/srv/git/TargetRepoSameName
# Add a remote alias
git remote add any_name_123 ssh://user@host:1234/srv/git/TargetRepoSameName
# push local repo to 'any_name_123'
git push any_name_123 --all
# optional: delete all tags before attempting to push local tags
git push any_name_123 --delete `$(git tag -l)
# push local tags to remote repo
git push any_name_123 --tags
请注意,我使用的是端口号 1234,而如果您不指定端口,则默认值为 22。请在您的整体解决方案中使用此代码段。您还可以使用 git-hook 推送更改。