git设置用户访问目录权限?

作者:代码罐头
链接:https://www.zhihu.com/question/22363313/answer/142703190
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

回答什么GIT权限管理的真的知道GIT的权限管理意味着什么么?

GIT的权限管理是说控制用户能不能PUSH或者DELETE分支,或者能不能PUSH代码,而不是能不能访问某个目录的文件。

对目录和文件的可读是GIT的最基本要求,不可能做到针对目录级别的不可读

唯一可行的就是多建立几个独立库,然后用外部引用的方式弄到一个总的GIT库里。再独立库里面做用户的分配

但是GIT不能支持某个目录下面单独指定文件的不可读,所以你要是做复杂读写权限控制,除非一个愿意细化到某些配置文件就独立开库并指定用户,否则别找虐了。

你要的就是集中式的管理,用GIT干嘛呢?耍帅?

从技术上将,Git可能永远也做不到类似SVN的路径授权(读授权):• 如果允许按照路径授权,则各个克隆的关系将不再是平等的关系,有的内容多,有的内容少,分布式的理念被破坏• 如果只有部分路径可读,则克隆出来的提交和原始提交的提交ID可能不同。因为提交ID是和提交内容有关的,克隆中提交的部分内容被丢弃,势必提交的ID也要重新计算• 允许全部代码可读,只允许部分代码可写,在版本控制的管理下,是没有多大实际意义的,而且导致了提交的逻辑上的不完整。那么有什么办法来解决授权的问题?1. 公司内部代码开放。即代码在公司内部,对项目组成员一视同仁的开放。2. 公司对代码库进行合理分解,对每个代码库分别授权。即某个代码库对团队成员完全开放,对其它团队完全封闭。3. 公司使用Subversion做集中式的版本控制,个人和/或团队使用 Git-svn。这样在无法改变公司版本控制策略时,程序员可以采用的变通之法。4. Git服务器的部署实际上可以使用钩子对分支和路径进行写授权,即可以控制谁能够创建分支,能够写特定文件。 

你可能感兴趣的:(git)