Git直接将文件提交到git和/或gitlab

时间:2013-10-13 04:46:05

标签: objective-c macos git gitlab

所以,这是我的用例:

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

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

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

2 个答案:

答案 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