实时Git,在版本控制之前控制源码

2019 年 7 月 9 日 开源中国

Git 用于源代码版本控制已经是一个很强大的神器了,但是有人在此基础上还开发了一个被认为是“实时 Git”的工具。

这个工具叫 Coactive,它以 Visual Studio 插件的形式存在,作者描述它的作用是让开发者实时查看队友正在处理哪些文件(如上图),并且在操作 commit 之前,都可以查看到文件版本与自己的版本之间的差异(如下图),这样可以让整个开发团队不同的成员在确定某一版本代码之前心理有数,写出的代码能够尽量避免合并冲突。

这样的功能,其实就是把 Git 的阶段性操作(版本)再微分到开发团队中每个人编写代码过程中的每个时刻,所以有人评论这是一个实时 Git,“它在源代码进行版本控制之前进行版本控制,怎么可能出错?”,表达了他们对于这一创造性设计的惊叹:

但是评论中也有不同的声音,有个 20 年经验的版本控制老司机认为这种方法存在问题,他的想法是这样的:

  • 这种类似锁定文件来防止合并冲突的方法其实早在 Git 和 SVN 之前就有了,但是文件级粒度的版本控制没有意义,许多代码库文件都有成千上万行代码,如果有人在同一个文件中工作,那会导致大量误报;

  • 并不是所有代码更改都要 commit,通常会对调试或原型进行本地更改,并计划丢弃,或将它们提交给新的分支。

  • 分支情况又怎么确定?通知纯粹是基于文件名吗?那你如果收到与其他工程师正在处理同一个文件的信息,但是这个文件是在同一个分支上吗?

  • Coactive 无法避免冲突,它只会减少冲突的数量,但会以其它方式增加成本。开发者必须思考一大堆问题才能知道如何解决冲突,比如“我是否要改变我的计划并等到 Bob 完成该文件?”、“我是否要发消息给 Bob,了解他的计划是什么?”、“我们要编辑相同的行吗?”、“怎样可以更快/更容易地处理冲突?”

老司机认为 Coactive 这个工具对于涉及到的文件很少的小团队会非常有用,但是文件多了就会适得其反,而沟通才是更重要的,他说:“我不认为插件可以取代传统的团队沟通。”

下边的跟帖有人还据此提出了完善建议,他认为直接让该工具只给出冲突提示,而不是文件级的源码差异,这样就可以适用于大型团队:


你怎么看呢?

Coactive 运行环境需要:

  • Visual Studio 2017 或 2019

  • Git

项目主页:https://coactive.io

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿


推荐阅读

Debian 10 "buster" 正式发布

Redis 6 采用新协议来实现客户端缓存功能

微软内核工程师称 ReactOS 剽窃 Windows 代码

MongoDB:有人敢像我一样说出开源的真实用意吗?

Windows 1.11 登录微软商店

登录查看更多
0

相关内容

Git 是一个为了更好地管理 Linux 内核开发而创立的分布式版本控制和软件配置管理软件。 国内外知名 Git 代码托管网站有: GitHub.com Coding.net code.csdn.net ...
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
65+阅读 · 2020年3月26日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
78+阅读 · 2020年3月15日
专知会员服务
110+阅读 · 2020年3月12日
强化学习和最优控制的《十个关键点》81页PPT汇总
专知会员服务
107+阅读 · 2020年3月2日
MIT新书《强化学习与最优控制》
专知会员服务
279+阅读 · 2019年10月9日
重磅:git checkout 未来将消失
Python程序员
15+阅读 · 2019年8月22日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
用 GitLab 的 Merge Request 做代码评审
DevOps时代
4+阅读 · 2019年5月5日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
Python3.7中一种懒加载的方式
Python程序员
3+阅读 · 2018年4月27日
免费云真机测试 | 让您的应用完美适配 Android Oreo
引力空间站
3+阅读 · 2018年2月2日
Arxiv
24+阅读 · 2020年3月11日
Arxiv
92+阅读 · 2020年2月28日
Arxiv
35+阅读 · 2019年11月7日
Generative Adversarial Networks: A Survey and Taxonomy
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Arxiv
12+阅读 · 2018年9月5日
Arxiv
9+阅读 · 2018年5月7日
VIP会员
相关资讯
重磅:git checkout 未来将消失
Python程序员
15+阅读 · 2019年8月22日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
用 GitLab 的 Merge Request 做代码评审
DevOps时代
4+阅读 · 2019年5月5日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
Python3.7中一种懒加载的方式
Python程序员
3+阅读 · 2018年4月27日
免费云真机测试 | 让您的应用完美适配 Android Oreo
引力空间站
3+阅读 · 2018年2月2日
Top
微信扫码咨询专知VIP会员