请问git这种目录权限都控制不了的弱鸡是怎么代替svn流行...

Tips:点击图片进入下一页

请问git这种目录权限都控制不了的弱鸡是怎么代替svn流行起来的 好在哪里?


网友评论:
建议你直接发邮件问Linus
不懂就问,不能控制吗?听说谷歌就是一个repo到底的,要是所有人都有全部权限早就删库了吧

然而谷歌不用git

原来如此,一时傻了


建branch commit 和merge都快,不会因此打乱思维。

一个快字就足以改变你的使用习惯了。
我司用git
我司有Acl

我觉得是你司水平不行
gitlab有branch protect的,不能向master分支直接commit

—— 来自 Xiaomi Redmi 4, Android 9上的 v2.1.2
默认还不区分路径大小写呢。。。昨天才知道,给我好一个坑

—— 来自 Sony G8142, Android 8.0.0上的 v2.1.2
git 是不容易做到细粒度的管理,但 svn 也很难实现分布式开发和 pull request,这些才是开源协作最看重的。
黑名单+1
git一个库一般是一个程序,不存在某个目录不能让人看的情况,不然你怎么编译,如果有目录不让人看这种需求说明没有强关联性应该开一个新库
svn一般一个库对应一个服务器,程序是以目录分的
git分支新建是固定时间空间占用的,不像svn要把文件复制一遍
切换合并删除也快的多

—— 来自 Sony G8142, Android 9上的 v2.1.2
这种弱智问题能不能去v2ex问?
说起来我还有一个git的事没搞明白

git pull的时候能把unstaged change也下载下来吗?也就是我git pull以后什么都没做就已经有一个modified了,去github看的在线版本是为修改以前的,但是修改的版本没commit,这是怎么弄出来的?
branch protect,然后你的提交都只能直接提交到自己的branch,然后pull request,有别人review&accept才可以提交到master,而且可以回溯,用起来不觉得有问题啊。

要是linus抽空回邮件给LZ骂了一顿,会怎么样?
担心楼主脑容量。

—— 来自 HUAWEI LYA-AL10, Android 9上的 v2.1.0-play

蹦面子,“我也是被大神骂过的人了”

+65535,毕竟V2EX是创意工作者们的社区
Git最大的优势点在于分支,SVN开个分支,或者切换个分支要死要活的,但是Git就很容易。这对于互联网协作是福音,其它方面,我认为Git做的并不优秀
branch和submodule不就是干这个的?
你说的对,这确实是一个问题,我以前一直没有仔细想过..
git 是把权限控制分开来做(准确的说是分开来,但是没有做)的,也就是需要额外的权限层。像 gerrit 就是用 folder based ACL,来控制写的权限。但是细粒度的读权限确实不好控制..

别担心,他的邮件过滤器已经好了。

— from Xiaomi MI 8, Android 9 of Next Goose v2.1.2
不上cc都是业余

一般是因为冲突,不stage->commit->push就没法pull
git remote set-url

把远程分支的推送给关闭
建个submodule不就得了?

linus:“啥子哦?你吼那么大声干什么嘛?诶你态度能不能好一点哦?那你去用svn啊!你再骂?!”
我就想不通了,为什么你们这些人这么喜欢形而上学软件工程最佳实践?
有权限控制,多媒体文件版本控制的需求就用svn,有分布式开发的需求就用git

没有提示冲突,而且那是老师新push上去的文件夹,所以在线的文本和下载以后文本都是不一样的

等等,重新clone了一次看

warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

看来出现了写莫名其妙的东西Lab.cpp和lab.cpp
gitolite 行不?

你可以试着把磁盘弄成区分大小写的格式
mac 需要重新格式化,apfs/hfs+都成,格式要是分大小写
Windows上面可以用 fsutil.exe file setCaseSensitiveInfo enable 开启一个目录的区分大小,但是下级目录不会继承

然后你就会发现很多坑爹的东西了
1.你可以把不同目录做成不同项目
2.你可以不同项目配制不同的权限
3.你可以把相关项目用submodule组合起来

A. 每个人可以在自己电脑上维护一个完整副本 自己控制分支开发 直到完成后通过pr到主干
B. 每个人, 每个电脑, 每个目录, 都可以自己的副本, 本地开发,commit,根据自己需要开合分支, 反正代码仓库里的主干分支关心的就只是最后那个pr

强大灵活的ACL有代价. 就像现在大家服务器上比起NTFS的ACL还是更喜欢unix风格的modes一样, 简单好用而且够用.
代码仓库中设置merge pr权限能解决写问题, 剩下的就是读了. 如果你的项目真的到了这种同一个代码仓库里的内容, 在无法划分模块的基础上, 也要做到部分代码只对部分人可见......... 那就用SVN吧. 虽然我觉得这种就是很少啊...