我有需要在2个存储库(2个不同的组织)之间保持同步的文件
RepoX和RepoY都有一个共同的文件“ FileA”(以保持同步)
发生更改时,FileA -Trigger管道并将MyRepoX / FileA“合并”到MyRepoY / FileA
我已经执行以下操作:
在脚本中,我做了:
错误“没有要合并的内容”。
我是“ git新手”,我需要执行什么命令来使文件在存储库之间保持同步?
答案 0 :(得分:1)
您不能像合并那样仅仅进行合并,因为它是2个不同的存储库,而且,您真的要合并整个存储库吗?您只需要同步一个文件即可。
您可以通过以下逻辑来实现:
FileA
从仓库1复制到仓库2 我编写了一个可以运行的小型PowerShell脚本:
cd $(Agent.BuildDirectory)
git clone https://PAT-HERE@dev.azure.com/{organzition}/{project}/_git/{repo-name}
cd {repo-name}
git checkout branch-name # if the synced file not in master
# Assuming the synced file name is "test.txt" and he exists in the folder "common"
Copy-Item $(Build.SourcesDirectory)\common\test.txt $(Agnet.BuildDirectory)\{repo-name}\common -Force
# If you use Hosted agent you need to configure the email & address
git config --globa user.email "Build@AzureDevOps.com"
git config --global user.name "Azure DevOps Build"
git add common/test.txt
git commit -m "Sync test.txt"
git push
现在创建2个管道,在每个管道中仅触发您要同步的公共文件:
使用上述脚本:
结果: