大家在编写代码的过程中或多或少的都会遇到管本管理的问题,诸如,各种各样的命名以区分两套程序,可能两者就因为改了一行代码,但是没办法,必须保留两份,因为是两个功能。我学习和研究了一下 GIT 版本管理工具后对于所谓的版本管理才有了一定认知。在我刚刚接触 git 的时候除了命令行不太熟悉之外,我深深喜欢上了这个工具。给大家讲解一下 git 的应用场景,大家根据场景来决定自己是否有必要继续学习和使用 git 工具。
场景 1:程序包太多导致文件过大
“小明,给我在原有功能的基础上增加一个按键的功能。”小明做完了功能开发找到老板。“老板,拿走,你要的新增按键功能。”老板说道:“客户说这个功能暂时不需要了,下次需要的时候再说吧。”小明回到电脑座位上将本次开发后的程序制作成了一个压缩包,然后明明上备注成:xxxx年xx月xx日,老板增加按键的功能。
这种方式也就是我大学刚毕业时使用的,因为我坚信,我不会忘记每个压缩包的功能,我也不会忘记每个压缩包之间的关系。但是,直到我从第一家公司离职的时候我才发现,我制作的压缩包已经高达几十G,它们之间的关系我基本都不清楚了。我需要解压之后比对临近的版本才能知道这个版本改了些什么东西。而且每次和别人一起合作写代码的时候,也要先比对一下大家的版本是否一致才能正常进行。
如果使用 git 呢?那么你的文件总的占用空间会大幅减少,因为它保存的是修改。
场景 2:版本差异整合,人工工作量太大
看如上的版本变化图,我来解释一下。
A->B1->C->D 就是我们正在日常开发代码的版本迭代过程,其中 A 修改部分 bug 升级为 B1,B1 又增加部分功能升级为 C 。以此类推。假如领导跟你说,我需要在之前 A 版本上新增加一个功能,你就兴致勃勃的命名为 B2 了。功能开发结束之后,老板一看大卖,又提出,我们以后所有的版本都要增加该功能!那时你会怎么办?当然是手动将 A->B2 所有的修改内容完完全全的复制到 B1,C,D 的版本上去。然后把部分要修改的地方,再修改一次。
如果使用 git 呢?那么你就不需要手动复制,只需要 执行一次 merge 指令,就能代替你的动作。请注意,使用了 git 版本管理工具之后,是简化了人工操作。不必进行大量的重复劳动力。
场景 3:本地文件丢失
假设一下,如果当小明开开心心地写着代码,结果电脑不知道怎么地就发起了脾气,电源按了无数次就是不能把电脑点亮,这样你在这台电脑上存放的所有程序直接变为 0 。而如果你使用了 git 的远程管理功能,那么,你就可以从远程服务器中下载最近一次的上传版本信息。有人说,我也用网盘保存了我全部的版本信息了。但是你有没有想过一件事,你所谓的保存的版本只是一个又一个的压缩包,体积太大。所以还是 git 的远程管理功能更为实用方便。