Git 系列之一:版本控制的概念、分佈式、Git 簡介及其工作流程

UPDATE:這裏記錄的“Git 工作流程”比較適合於團隊大部分人沒有使用過 Git 的情況,能夠簡單無障礙入門;以及,適合於系統比較大,不同的人工作於不同的部分,彼此進度不一的情況。日誌寫作時,我們正好符合這兩個情況,所以採用了所述的流程。隨着時間的推移,團隊成員使用 Git 已經比較熟練,而我們系統的開發也逐漸成熟,現已轉用了另一種流程。大體而言,跟這個思路比較接近:http://nvie.com/posts/a-successful-git-branching-model/ 。
——
注:
Git 的強大、靈活、好用,毋庸置疑。
但也正是 Git 的靈活性,在公司推行時,如何執行統一的流程成爲一個問題。我想了不少時間才制訂出一個辦法。
目的是規範、統一。還有就是,Windows 下的同事,特別是不熟悉命令行的同事,怎樣才能使他們好理解,並且覺得簡單(之前大家覺得概念太多,難以理解;步驟多,記不住,不小心就搞錯,衝突頻發)。
說到 Windows,Git 在 Windows 下不如 Linux 下好使,這也是一個需要考慮的問題。
同樣是在公司 Wiki 上寫的,再次拿到 Blog 來湊數呵呵~。

版本控制

——————
簡單地說,就是將在本地開發的代碼,定時推送到服務器。每一次修改,記錄下它的作者、時間及修改說明等。
相對的,我們也可以從服務器下拉其他人推送的代碼,並瞭解它的作者、時間、修改說明及其具體的修改內容。
這樣,版本控制給團隊協作開發提供了極大的方便。即使是一個人開發,因爲它記錄下了我們整個的開發歷史,也是極有幫助和價值的。
比如,如果某次修改甚至整個系統出現問題,它也能幫助找回我們珍貴的代碼。

分佈式版本控制

——————————–
更進一步,分佈式版本控制工具使得我們在本機上即擁有完整的功能,不依賴於服務器,使用更爲方便。它們往往也提供其它更好用或更強大的功能,比如靈活的分支管理。

Git

——–
Git 是 Linux 之父 Linus Trovalds,爲管理 Linux 內核代碼而建立的,被認爲是分佈式版本控制工具中的頂級水準。智能、友好、強健、高效。

Git 工作流程

—————————-
1、使用中央服務器輔助協作;
2、每人在服務器擁有一個以自己 id 爲名稱的分支;
3、各人只許推送更新到自己的分支,不允許推送到別人的分支或者 master;
4、master 由專人管理,在合適時 merge 其它分支(開發初期每日自動 merge 各人分支,生產化後則由人工 merge 經過 review 的分支);
5、代碼修改 merge 到 master 後,將同步到所有終端。
【TIP】:熟悉之後,你可以創建類似 myId_branchName 的其它分支。
【TIP】:以上只是概念介紹,至於具體的操作,請參考:《Windows 下 Git 配置與使用指南》、 《Git 進階功能》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章