1. 程式人生 > >為什麼專案託管從為什麼從GitHub遷移到了GitLab

為什麼專案託管從為什麼從GitHub遷移到了GitLab

為什麼需要使用git? 這裡分兩個問題:

第一,有沒有使用流水線和協作平臺的必要

關於第一個問題 公司人員經常會有兩個誤區,

1.人少沒必要使用協作和流水線工具

在實際產品研發過程中,一個課程開發,可能持續最短一週,每天進度不一樣,會存在第四天課程研發出現錯誤回滾回第三天,或者第四天的案例需要第二天部分程式碼的情況。 同樣,技術產品文件和優勢力所產生的文件會存在不斷的版本迭代,如果更新到第四版,需要第一版的資料做參考或者想檢視一下版本迭代過程,是非常平常普遍的需求。 所以,即使一個人也需要版本的控制。 另外,經常會有其他部門如銷售和運營需要產品部門輸出協作的情況。協作互相溝通浪費時間,只要有兩個人就存在版本和協作問題。

2.公司變化太多,專案管理軟體滿足不了多變的業務需求,增加管理成本。

公司變化太多自然會有大量的溝通和版本協作,這恰恰是協作平臺的優勢所在。另外變化太多自然會帶來混亂,需要量化的管理和查詢可以提高效率的部分。 舉個例子: 在這裡插入圖片描述 這個如果用燃盡圖表示就是圖中藍線的部分: 在這裡插入圖片描述 橫軸:顯示工作天數 豎軸:顯示剩餘工作 計劃剩餘工作曲線:該曲線實際上是一條直線 實際剩餘工作曲線:該曲線受團隊實際工作效率的影響在計劃曲線上下浮動 在這裡插入圖片描述 明顯,實際專案一定不會那麼理想,具體實際情形可以參考: 燃盡圖是什麼? 協作軟體可以客觀的反應專案的進度和任務量,以及客觀出現的各種情況。比如由於某個里程碑沒有完成造成了整個專案延遲,比如整個計劃分配不合理,造成工作量太大根本無法完成,都能客觀的反映出來,這對專案的合理管理非常有必要。

第二,為什麼使用gitLab?

同類競品 1.QQ空間,丟資料,另外根本不存在版本控制,更沒法監控專案進度 2.網盤類,根本不存在版本控制,更沒法監控專案進度 3.禪道、teambition等專案軟體,使用太複雜,培訓成本太高,另外都付費。 4.SVN 部署麻煩,不存在專案進度控制。 5.Github 免費不提供私有庫,另外沒法進行精確許可權控制,無法滿足企業私密和安全需求。 6.GitLab 免費,不需要部署,操作簡單,可以流水線和專案進度協作,私有庫滿足安全性和私密需求。 怎麼用?這裡以實際專案為例。 以51talkshow專案為例,

1.第一步,把網上庫下載下來,這個只做一次就好。
git clone 
[email protected]
:breadteam/51talk.git 2.第二步,我想看其他人更改的最新版本。 git pull 3.第三步驟,我想提交東西讓別人看到 git pull git add . git commit -m '提交說明,方便查閱' git push

我不想改東西,也不想上傳東西,我想看看產品部有什麼新的進展或者有什麼需要我協作的? 在這裡插入圖片描述

第三,用gitLab好處

1.不管是產品部還是其他部門想看三個月前某個課程的版本都很容易看到,需要東西不需要再跟產品部要

2.任何部門都能看到產品部門的進度不用問產品部活兒乾的怎麼樣了,那裡擺著呢

3.清晰的專案管理和責任明確,產品延遲上線原因很明確。比如產品確實沒上線可是一個月產品的版本迭代了4次,
  文件超過10萬字,這說明工作量太大制定計劃不合理。運營沒有提供運營方案造成產品一直在等著。
  說明不是產品部的問題,通過燃盡圖可以清晰的知道團隊的狀態。
  
4.清晰的看到產品迭代,為產品研發提供參考

5.能夠形成專案管理課程,為我們的後續產品做準備,同時課程設計過程完全公開,降低產品和運營不匹配的問題。

6.作為最大和程式設計師首選平臺,使用這個平臺有利於銷售和運營瞭解我們的使用者思維方式。

第四,建議

在這裡插入圖片描述 從這篇文章大家可以看到其實GitLab的使用和GitHub幾乎一致,難度相當,GitHub是一個優秀的管理系統,不過確實私有庫收費,另外許可權管理不夠,這是一個硬傷,如果你是個人開發者想通過Github提高個人影響力和程式碼希望更多人評論和star那是一個很好的選擇,但是作為公司明顯不是為了這個目的,而我們的公司做技術的目的更多不是為了秀,而是為了滿足企業需求。 所以,如果你很努力最後卻並沒有得到公司應有的回報,那麼你就要考慮下了,你是不是學錯了,學了一堆屠龍之技,記住,技術的價值在於解決問題