公司从 SVN 切换到 Git 的那些坑

2021-12-03 13:29:15 +08:00
 villivateur

为了实现代码检视( Pull Request )这个功能,公司从 SVN 切换到了 Git ,但是不少人遇到了下面的问题:

  1. 没有理解 Git 的工作区、暂存区、仓库区、远端之间的关系,用 SVN 的思维去使用 Git ,比如会通过删除工作区文件、再拉取代码这种方式来回退代码。
  2. 在修改工作区文件后,没有 commit 或者 stash ,就 pull 代码,导致提示冲突,因为不熟练所以不知道如何解决。
  3. 之前 SVN 仓库中有很多需要经常修改的大二进制文件,初期迁移的时候没有用 LFS 管理,导致 Git 仓库庞大,clone 要花很长时间。
  4. 使用 LFS 后,因为各个用户终端配置不一样,可能有的人没有装 LFS ,提交后,其他人再 pull ,会出现很多奇怪的问题。

感觉从 SVN 切换到 Git ,还是要慎重,至少要培训熟练。

8026 次点击
所在节点    程序员
68 条回复
liubaicai
2021-12-03 15:45:40 +08:00
@murmur 你提交前都不测试的吗?
murmur
2021-12-03 15:46:37 +08:00
@liubaicai 测试非得用 git 的钩子么,本地跑完再提交不一样?
liubaicai
2021-12-03 15:47:11 +08:00
@quanjw 可惜你理解错了
murmur
2021-12-03 15:48:25 +08:00
@liubaicai 我的场景是这样

比如 someFunction();<---此时光标再这里

我按下 ctrl+shift+f 全文搜索,因为快捷键冲突,这个对话框大概率出不来,就成了

someFunction();F

因为 js 没有开严格模式,这个语句是不会报错的
liubaicai
2021-12-03 15:50:42 +08:00
@murmur 我不是说钩子。你本地跑完再提交,你那些 C 啊 V 啊什么的,不就发现了吗,难不成还能过测试?当然我承认 gui 工具确实好用,这个没得说。
liubaicai
2021-12-03 15:51:22 +08:00
@murmur 好吧,js 确实。大部分语言应该是过不了的
justest123
2021-12-03 16:25:44 +08:00
啊 优越感真可怕
cnzjl
2021-12-03 16:33:42 +08:00
@quanjw svn 也有分支功能
Kimen
2021-12-03 16:40:35 +08:00
还好我接触版本控制的时候用的就是 git ,几乎没有用过 svn ,少了这些问题
superrichman
2021-12-03 16:43:28 +08:00
git 的学习成本比 svn 大的多,很多时候 git 提供的那么多功能根本不会去用,大部分人只需要更新和提交,最多冲突了再加一个合并
klgd
2021-12-03 16:50:25 +08:00
更换后的镇痛是正常,过两天就好了,我们当初就是这样
yohole
2021-12-03 16:58:02 +08:00
题外话,idea 的对于 git 的支持和图形界面的交互体验,个人觉得远超其他独立的客户端
dinghmcn
2021-12-03 17:18:44 +08:00
我们公司 git 还好,repo 一堆人不会用,但我们公司除了老旧代码基本都上 repo 了
leeg810312
2021-12-03 17:21:16 +08:00
很多时候就用 pull / push / merge ,网页版还会有 pull request 和 review ,rebase 我们平常都很少用。svn 过渡到 git 很平滑,没有感觉很难适应。刚用 git 时,用 IDE 或图形软件来操作可能比较方便,容易适应。
statement
2021-12-03 17:23:31 +08:00
感觉 git 的复杂操作 使用起来挺难的
比如各类回滚
1.这类操作需要很慎重 会有畏惧心理
2.使用场景很少,没有哪家公司天天回滚代码吧
就导致学会了长时间不用就忘 不会你又不太敢用更畏惧了 能少用就少用 越不用越不会 恶性循环了属于
lueluev
2021-12-03 17:25:19 +08:00
没事,过段时间就真香了
securityCoding
2021-12-03 17:28:43 +08:00
目前最好用的客户端应该是 idea 的 git 界面了
madao100
2021-12-03 17:31:47 +08:00
全离职吧
corningsun
2021-12-03 17:35:18 +08:00
本来就不懂原理,还用命令行的话,会更乱。

建议直接图形客户端走起,推荐一个: https://git-fork.com/
JavaFirstMaster
2021-12-03 17:36:41 +08:00
我这个部门就还在用 svn, 进来第一天就想跑路 (σ`д′)σ

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

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

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

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

© 2021 V2EX