Git 那么流行,那么问题来了,你觉得 Git 有什么缺点和不足呢?

2015-11-16 21:48:42 +08:00
 Mark24

如题
Git 的各种宣传都高大上,无论是性能和设计都完爆同类版本控制工具。
那么这看似“完美”的教主的作品,又有什么缺点和不足呢?

6725 次点击
所在节点    问与答
33 条回复
cqcn1991
2015-11-16 22:01:09 +08:00
缺乏一个官方支持的图形界面?
如果有的话,可能愿意使用的人,可以扩大到工程师以外的人
Mark24
2015-11-16 22:11:18 +08:00
@cqcn1991 SourceTree 虽然不是官方的,但是做的真的很棒,缺点是有点慢
wzxjohn
2015-11-16 22:12:08 +08:00
@Mark24 Win 下太慢了。。。
skydiver
2015-11-16 22:13:22 +08:00
缺点是不支持部分(子目录)checkout ,只能 clone 。 clone 还不支持断点续传。
cqcn1991
2015-11-16 22:14:51 +08:00
@Mark24 就是需要第三方安装,这个对非工程师真的就挺不友好了。类似的还有 markdown 。 markdown 若是能自带 stackoverflow 那样的编辑器, adoption 就会大大增加。
clino
2015-11-16 22:15:25 +08:00
@cqcn1991 git-gui 算不算官方的...
另外软件工程师以外的人哪能了解那么多什么分支 merge sha1,再好的 gui 也会歇菜
jybox
2015-11-16 22:17:44 +08:00
只支持文本文件,虽然这让 Git 能够成为通用的版本控制系统,但也限制了它的能力。我希望有一个在编程语言级别进行版本控制的工具,能够以类(模块)和函数(或代码库块)为单位(而不是文件)来管理历史,可以在 diff 时忽略格式上的修改,可以让无法通过编译的代码无法提交到代码库,并基于具体的编程语言提供更好的合并建议。
lightening
2015-11-16 22:21:43 +08:00
命令行参数毫无一致性

删除一个 branch
git branch -d

删除一个 remote
git remote remove
YuJianrong
2015-11-16 22:45:17 +08:00
* repo 记着所有历史的策略会使得 repo 在日积月累的使用中变得越来越大
* 不能应付源代码权限需要严格控制的场景, repo 能拉下来就意味着所有代码都能看到
* 大规模项目需要分成多个 repo ,这使得跨 repo 的单个提交变得非常麻烦,尤其是后面还有 CI 在检查每个提交的时候(相互依赖结果哪个都进不去)
* 分多个项目的时候无论是 subtree 还是 submodoule 都不够好用方便

总之在使用了近两年后我觉得比起陈旧的 perforce 来说也并没有 life change 级别的改变,也就自建 branch 快很多这点不错。
tang3w
2015-11-16 23:06:08 +08:00
@jybox 想法非常好。但是要为各个计算机语言做支持,而且要随时跟上语言的演变以及不同实现之间的差异,恐怕是个艰难的任务。而且只能做一些比较局限的静态分析,对动态能力很强的语言恐怕就有点力不从心了。
seagoat
2015-11-17 00:01:16 +08:00
@YuJianrong 深有同感
Felldeadbird
2015-11-17 00:06:29 +08:00
我觉得最大不足就是,没有便捷的权限管理机制。第三方的管理软件可以实现权限管理,但安装麻烦。
尽管团队开发可以协定某些分支不能合并。但总会有新人犯错。如果能够让分支实现天生的权限管理,就想到好了。
wellsc
2015-11-17 00:56:07 +08:00
如果能够支持大文件,多媒体文件的话就能用来写小说,当网盘,影视编辑等等。
zonghua
2015-11-17 00:59:48 +08:00
最大的缺点是太复杂不会用
leomikezee
2015-11-17 02:12:33 +08:00
@jybox 王垠的 ydiff ?
wsy2220
2015-11-17 02:19:30 +08:00
很多缺点都是为了实现分布式系统,不得不这样做。为了分布式的好处,我愿意忍受这些缺点。
yyfearth
2015-11-17 07:04:53 +08:00
@YuJianrong 对于开源环境的优点 在企业环境下可能就是缺点了
很多实现对 实现分布式系统 进行了妥协
而对企业环境下的集中管理系统 就造成了一定的不利
比如默认要同步整个项目历史 不能直接划分子项目 而且多项目管理十分麻烦

Git 的最大优势就是 Branch 非常灵活好用 当然也会造成管理困难
如果你用 P4 SVN 根本不会愿意随便开 Branch 麻烦死了

P4 我最讨厌的就是会 Lock 文件 导致编辑的时候很麻烦 以及很多 build 的时候因为权限问题报错
另外就是没有一个好的 ignore 机制
但是管理功能确实很强大 而且多文件时候性能也不错
Mark24
2015-11-17 09:07:49 +08:00
学习了,实践出真知啊,看书根本考虑不到那么多的情况
wohenyingyu01
2015-11-17 09:20:07 +08:00
clone 无法断点续传!!!!老子下了整整一周!!!好几次都 90%了又要从头再来!!!
caixiexin
2015-11-17 09:22:13 +08:00
有些命令有点不知所谓,光看名字不看文档都不知道干嘛用的。有的还找不到规律,就像 @lightening 说的- -
想起当初学 git 时看到的一个笑话:
git 可以不用联网做本地分支是很好啊,可是你们用 git 时候不用联网查命令,不用查 cheat sheet 吗 23333

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/236620

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX