大家在編寫代碼的過程中或多或少的都會遇到管本管理的問題,諸如,各種各樣的命名以區分兩套程序,可能兩者就因為改了一行代碼,但是沒辦法,必須保留兩份,因為是兩個功能。我學習和研究了一下 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 的遠程管理功能更為實用方便。