实时 Git,在版本控制之前控制源码
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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Raspberry PI 4 的 Kali Linux 已发布,支持车载 Wi-Fi 监控模式
Offensive Security已经发布了 Raspberry PI 4 的 Kali Linux。 这款新的以安全为中心的发行版是在 Raspberry PI 4 推出两周后推出的,这是迄今为止最强大的迷你电脑版本。Offensive Security 说,新的构建充分利用了 PI 4 所能提供的东西。 KaliLinux 团队说,除了新型号的硬件令人印象深刻之外,PI 4 在 Kali Linux 配合下,支持完整的车载 Wi-Fi 监控模式。目前,用于 Raspberry PI 4 的 Kali Linux 只能在 32 位变体中使用,但 64 位版本有望在不久的将来推出。Offensive Security 说,由于 Kali 在早期版本的 Raspberry PI 上很受欢迎,所以很快就开始支持最新版本。 启动和运行与在早期版本的 Raspberry PI 上安装 Kali Linux 没有什么不同,可以查看完整的说明。 如果想要使用的是在 Raspberry PI 4 的 32 位版本的 Kali Linux,可以从 Kali ARM 主页下载,如果不是,只需要等待更长...
- 下一篇
继 Python 解释器移植到 Firefox 后,Mozilla 现在想支持 Julia 和 R
Mozilla 正在资助一个将 Julia 编程语言引入 Firefox 和一般浏览器环境的项目。 Mozilla 在上周五宣布,该项目在 2019 年上半年获得了 Mozilla Research Grants 的部分资金。今年 4 月,Mozilla 开始申请研究补助金的时候,该组织表示,它正在寻找一种将数据科学和科学计算工具引入网络的方法。 Mozilla 工程师过去几年一直致力于将数据科学工具移植到浏览器,成为Iodide 项目的一部分。在以前,Mozilla 工程师做过一个Pyodide 项目,就是使用 WebAssembly 将 Python 解释器移植到浏览器中运行。Mozilla 工程师说:“Pyodide 项目,已经证明了在 WebAssembly 中运行语言翻译的可用性”。 今年 4 月时,Mozilla 表示愿意利用一笔研究资金资助一个开发团队,通过 WebAssembly 将 R 语言或 Julia 语言移植到浏览器上。 最终的产品应该是 Firefox 插件,类似于 Pyodide 项目。 MIT 博士生和 Julia 语言团队成员 Valentin Chur...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Red5直播服务器,属于Java语言的直播服务器
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,7,8上安装Nginx,支持https2.0的开启