首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >版本控制系统通知

版本控制系统通知
EN

Stack Overflow用户
提问于 2019-09-09 08:23:36
回答 2查看 41关注 0票数 1

我正在维护一个基于web的系统,它非常大,因为在许多文件和功能,是时候了,其他人也将在它上工作。这是一个内部企业解决方案,因此对于如何设置它有一些愿望:

  1. 我正在寻找一个版本控制系统,允许程序员以一种简单的方式进行协作
  2. 用户不应访问某些文件夹(例如某些模块)
  3. 我希望它是自我托管在一个中央的地方,所以有一个地方,有最新版本的系统。
  4. 我已经有一个更新系统,查找文件和数据库结构之间的差异,并将这些更改应用到需要更新的目标网站。
  5. 我已经有了一个基于the的编程环境,它可以直接更改服务器上的文件,并将保存的文件副本保存在数据库中,以便进行撤消和区分。这种方法不允许在分支上工作,然后再推送它们,这意味着只要整个系统没有处于“生产就绪”状态,就不能发布任何更新。

什么是明智的解决方案?据我所知,git没有对特定文件和文件夹的访问控制。我也不喜欢自由职业者下载整个回购只是为了改变一些文件(他们可以窃取整个系统)。

我已经调查过中央回购的变化无常,但不确定这是否有效。

任何建议都是非常感谢的。

编辑:应用程序是用PHP编写的。

EN

回答 2

Stack Overflow用户

发布于 2019-09-09 18:04:49

从技术上讲,您至少有3种解决方案( Git将是最薄弱和最蹩脚的),基于应用程序的“模块化结构”的共同概念(将源树的各个部分分离为独立的repos):

  • 带有子模块的Git (没有ACL,而是硬的自我托管,没有“轻松协作”)
  • SVN与外部(ACL从回购到单一文件级别,容易自我托管,但普通合并地狱和其他一些众所周知的弱点)
  • 变化莫测(良好的ACLs,相当有用的自我托管,容易学习的曲线,即使是新手,但知名度和合格用户的数量)
票数 0
EN

Stack Overflow用户

发布于 2019-09-09 08:58:25

最好的组合是:

  • 用于所有代码存储库的git

既然您选择了使用git,有两种常用的只读访问方式:

  • 编写器依赖项(或者纱线,如果是前端web应用程序)
  • 子模

不可能撤销对某些文件的访问,并且网站仍在运行。但是如果您想阻止写,那么单独的repos或子模块就是方法。我通常更喜欢将整个应用程序分割成单独的git repos,然后通过composer依赖项将它们链接起来。

注意:您没有说明web应用程序是用什么编写的,所以我介绍了PHP web应用程序通常是如何完成的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57850267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档