1

所以,这是我的用例:

我正在尝试为团队中的非开发人员开发一个内部 Mac 应用程序,以编辑我的一些游戏参数。理想情况下,应用程序将能够重新创建必要的配置文件并将它们直接提交/推送到我的 gitlab 实例,这将触发 CI 构建。

我知道我可以以编程方式将我的 repo 克隆到他们的机器上,然后以编程方式对其进行编辑并提交更改,但我试图避免让每个只编辑几个文件的用户克隆 2+GB 的代码。

有什么建议如何直接提交到远程仓库?在这种情况下,用户和我的服务器都可以被认为是“可信的”。谢谢!

4

2 回答 2

0

看起来那些配置文件可以在他们自己的(非常小的)git存储库中,并作为子模块保存在主存储库中。

然而,一旦一个子模块被推回,一个钩子应该确保父 repo 更新它的子模块引用(git submodule update),并添加+提交刚刚推送的子模块的新 SHA1。
否则,父 repo 不会意识到其子模块已更改。

这也意味着父 repo 应该声明该子模块遵循master分支的最新 SHA1 :

git submodule add -b master /url/to/submodule
于 2013-10-13T10:24:55.043 回答
0

对于像这样受限制的东西,单一回购解决方案也可以工作:

创建一个仅配置分支:

git checkout --orphan configs
rm all but configs
git add -A
git commit -mconfigs
git checkout main
git push server configs

在配置编辑器存储库中:

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
于 2013-10-13T23:21:28.807 回答