前段时间忙数学证明,回头要开始写代码了。又重新读了一下GIT方式,或者GIT管理代码开发的精神。发现至少不适合我的组织化开发的行为模式。因此打算放弃。
当然GIT作为一个linux下的工具,还是会用的。只是开发的组织行为不会和GIT的方式统一。
现在最矛盾的是merge。诸位谁有好的linux下的merge软件,也望推荐一二。当然至少要不比win 下的 araxis merge差。
同时,要抽象说明一下,GIT的方式,不适合公司内部作为项目组织管理。任何项目组织的版本管理软件,核心要解决的问题,如这个名词段的内容:
1、版本对齐
2、版本冲突
对齐,就是组织化分工后,不同单位之间的协同,无论是小到个人,还是大到开发组。
冲突,是同样的设计空间(目标,代码),不同组,不同人之间差异性描述的抉择。
简单举例:A,B两个人,相互之间的代码,要存在同步对齐。否则A,B的代码会差异越来越大,甚至有死锁。A写的函数必须等待B的函数实现才能测试,但B的函数需要等待A的函数实现正确才能验证。这是对齐问题。
而A,B两人同时对一个功能区域进行修改时,就存在二择一的工作。这是冲突问题。
GIT确实解决了很多问题,但是核心的两个问题,有回避和偷换概念的嫌疑。无论是提交者冲突问题,还是不同子服务器的版本对齐问题。
为什么放弃GIT方式开发,也就是由此导致的。公司内部组织化开发行为,存在明确角色定位。否则就不是组织化开发。而GIT的方式回避或者弱化了冲突问题的决策者,和对齐问题的决策者,至少在这方面的管理上,没有对应功能强化,由此,公司内部开发,会形成组织结构和使用工具的混乱局面。
当然并不是说GIT没有存在的意义。对于非公司内部的组织化开发,特别是对于开源方式的开发,(不是开发后的软件开源,这是两个概念,前者着重强调的是在项目开启和任意时间节点中,不确定后续开发者的明确角色,任务,后者只是强调代码是否公开),GIT对上述角色回避是有存在价值的,因为开源方式的开发,除了主维护者以外,其他角色都是动态和未知的。
但对于公司,组织化行为而言,你可以软件项目经理这个自然人未知,但主管某个模块的职务必须要明确。否则,项目无法组织化切割。
没有组织化切割,则公司就失去了通过专业人员聚焦的方式,获取低成本产出的可能。也即这个模块是人都可以做,没有谁一定只适合做,或一定不适合做他这么一说,如果公司内部开发是这么管理,成本和产品质量可想而知。
由此,GIT方式,并不适合公司内部组织化使用。重复观点,GIT方式在刻意回避角色问题。
补充,不过作为公司开发内部,最小单元,小组,小组内无角色差异性时,他们之间的版本工具,GIT还是可以使用的。
分享到:
相关推荐
1 安装GIT 代码如下:$ sudo aptitude install git$ sudo aptitude install git-doc git-svn git-email git-gui gitk git软件包包含了大部分Git命令,是必装的软件包,第二行命令也是Git软件包,但是是单独发布的,...
1. 下载压缩包:根据你的操作系统(Windows、macOS或Linux),从Git官方网站或相关镜像站点下载适合的Git压缩包。 2. 解压文件:将下载的压缩包解压到你选择的目录。 3. 配置环境变量:将Git的可执行文件路径添加...
2. **Git GUI**:一个图形用户界面,提供更直观的操作方式,适合不熟悉命令行的用户。 3. **Git for Windows SDK**:包含MinGW/MSYS,提供了一个Windows上的POSIX兼容层,使得Git可以在这个平台上运行。 4. **Cygwin...
Git是世界上最流行的分布式版本控制系统,它允许开发人员协作开发代码并跟踪每一次更改。"git压缩包下载git下载"这个标题和描述可能指的是提供Git的安装程序压缩包的下载服务。在本篇中,我们将深入探讨Git的核心...
4. **远程仓库**:Git不仅仅用于本地工作,还可以与远程仓库(如GitHub、GitLab)进行交互。`git clone`用于克隆远程仓库,`git push`和`git pull`则用于同步本地和远程的代码。 5. **协作与冲突解决**:在多人协作...
2. Git GUI:一个简单的图形界面,适合初学者和不熟悉命令行的用户。 3. Windows集成:与Windows Explorer集成,可以在文件资源管理器中右键执行Git操作。 4. SSH密钥管理:内置SSH密钥生成和管理工具,方便连接...
总之,Git-1.9.0作为Git的重要版本,为开发者提供了更高效、更人性化的版本控制体验,是软件开发中不可或缺的工具。通过深入学习和实践,开发者可以充分利用Git的强大功能,提升项目管理和协作的质量。
8. **图形化界面**:虽然Git主要是命令行工具,但也有许多图形化客户端如SourceTree、GitKraken等,它们提供更直观的界面,适合不熟悉命令行的用户。 9. **版本回溯**:Git的版本历史查询功能强大,`git log`显示...
Git客户端离线安装包是一个专为开发者设计的实用工具,尤其适合那些无法连接到互联网或者网络环境不稳定的情况。Git是一款分布式版本控制系统,它允许开发者跟踪和管理代码的变化,便于多人协作开发项目。在这个离线...
6.选中 Git GUI Here 右键新建(项),并重命名为command,command的值设置为 D:\Program Files\Git\cmd\git-gui.exe --working-dir %v,其中--working-dir和git-gui.exe之间有空格,--working-dir和%v之间也有空格 ...
总的来说,"git免安装版.zip"提供了一套完整的Git解决方案,适合那些经常需要在多台电脑上进行版本控制操作或者不喜欢安装软件的用户。无论是Git Bash的命令行操作,还是Git GUI的图形化界面,都能满足不同用户的...
描述中提到的"2018-03-03官网下载,国内下载基本上打不开,特此分享"揭示了一个常见问题,即国内用户可能由于网络限制无法直接访问Git的官方网站进行下载。因此,这个压缩包可能是为了方便国内用户快速获取Git Bash...
选择适合自己的操作方式,通常新手推荐使用Windows集成。 6. **配置SSH密钥**:为了安全地与远程Git仓库通信,可以创建SSH密钥对。安装完成后,通过`ssh-keygen`命令生成公钥和私钥,将公钥上传到GitHub或其他Git...
目前主流的代码管理工具是Git,但是采用GitHub需要付费才能使用,如果不付费,代码需要公开。因此,搭建自己的代码服务器是非常必要的。这篇文档将作者的经验写下来,方便互联网各位创业者参考,能够快速搭建自己所...
4. 安全:Git使用SHA-1哈希算法确保代码完整性,每次提交都会生成唯一的标识,保证了数据的不可篡改性。 GitDesktop for Windows是一款图形用户界面(GUI)工具,它为Windows用户提供了更友好的Git操作体验。...
git安装包
Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,从而实现高效的协作和版本控制。本教程将深入讲解如何在自己的计算机上创建一个Git服务器端,建立远程代码仓库,以便团队成员可以进行协作...
通过运行命令 `yum remove git`,我们可以卸载已有的Git版本,这一步是必要的,因为新版本的Git可能会与旧版本冲突,或者旧版本可能包含一些不兼容的特性。 接下来,我们需要解压缩下载的Git离线安装包。在这个例子...
通过电子邮件发送文件显然不能满足现代分布式团队的需求,因此需要使用软件版本控制系统(SVCS)来同步开发工作。文档中提到在过去,集中式服务器基础设施如CVS和SVN曾经非常流行,但现在越来越多的项目采用以Git为...