所以,这是我的用例:
我正在尝试为我的团队中的非开发人员开发内部Mac应用程序,以编辑我的一些游戏参数。理想情况下,应用程序将能够重新创建必要的配置文件,并直接将它们提交/推送到我的gitlab实例,这将触发CI构建。
我知道我可以通过编程方式将我的repo克隆到他们的机器上,然后以编程方式编辑它并提交更改,但我试图避免让每个只编辑几个文件的用户克隆2 + GB的代码。
有关如何直接提交远程仓库的任何建议吗?在这种情况下,用户和我的服务器都可以被视为“受信任”。谢谢!
答案 0 :(得分:0)
看起来那些配置文件可能位于他们自己的(非常小的)git存储库中,并保存在主仓库as a submodule中。
但是,一旦子模块被推回,一个钩子应该确保父repo更新它的子模块引用(git子模块更新),并添加+提交刚被推送的所述子模块的新SHA1。 否则,父repo将不会意识到它的子模块已经改变。
这也意味着父回购应该declare that submodule as following the latest SHA1 of master
branch:
git submodule add -b master /url/to/submodule
答案 1 :(得分:0)
对于像这样受限制的东西,单回购解决方案也可以起作用:
制作仅限配置的分支:
git checkout --orphan configs
rm all but configs
git add -A
git commit -mconfigs
git checkout main
git push server configs
在config-editor repos中:
git init configrepo
git remote add server u://r/l
git fetch server configs
git checkout -t server/configs
# work work, then
git commit -am "new configs"
git push
作为构建的一部分,
git pull -Xtheirs configs