我怀疑这可能非常明显,但我在文档或论坛中找不到简单的解决方案:
我已经编写了一些代码,这些代码保存在 BitBucket 的 Mercurial 存储库中。
我使用此代码来构建 Linux 虚拟服务器。当我构建服务器时,我将 repo 克隆到服务器上,运行构建脚本,然后删除克隆。结果是一个配置的服务器,其中包含来自我的存储库的多个文件,这些文件位于服务器上的各个文件夹中。
现在,我正在寻找一种机制,在我移交用户服务器后,我可以在其中推出错误修复和改进。那时,我无法通过 SSH 访问服务器,我不能指望我的最终用户做任何比启动 cron 作业或启动脚本更复杂的事情。
为了实现这一点,我正在考虑为我的用户设置一个 BitBucket 帐户,以只读访问我的存储库。
我通过这个只读帐户编写脚本来克隆我的仓库并应用更新没有问题,但我不想包含我的所有文件。特别是,我想排除我的构建脚本,因为它对商业敏感。我知道我可以从我的回购中删除它,但是我的构建将无法正常工作。
环顾四周,似乎我可能需要为我的仓库创建一个分支或一个分支(哪个?)。或者也许是一个子回购?然后,我可以从该分支/fork/sub-repo 中删除敏感文件,并允许我的用户通过脚本克隆它。
没关系,但是当我对主仓库进行更改时,我需要一种方法来更新分支/分叉/子仓库。这可以是自动的吗?换句话说,是否可以将其设置为始终反映主存储库中所做的更新?当然不包括敏感文件。
我不确定我是否希望更新是自动的,所以我也想知道如何手动将更新从 main 传输到 branch/fork/sub。合并?如果我进行合并,如何确保我的敏感文件不会被复制?
总而言之,我有一个包含一些敏感文件的主存储库,我需要一种方法来向我的只读用户推出除这些敏感文件之外的所有文件的更新。
对不起,如果这非常明显。我敢肯定,这是一个只见树木不见森林并被各种可能性压倒的情况。谢谢。