git 標準分支開發流程
git 是乙個優秀的分布式版本控制系統。
參考 git 官網中文教程
廖雪峰的 git 教程
oschina 中文教程
linus 在2023年建立了開源的linux。此後,linux系統在全世界熱心志願者的不斷參與下,不斷發展,現在已經成為最大的伺服器系統軟體了。那linux的**是如何管理的呢?
2023年以前,世界各地的志願者把源**檔案通過diff的方式發給linus,然後由linus本人通過手工方式合併**。
你也許會想,為什麼linus不把linux**放到版本控制系統裡呢?不是有cvs、svn這些免費的版本控制系統嗎?因為linus堅定地反對cvs和svn,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比cvs、svn好用,但那是付費的,和linux的開源精神不符。
2023年,linux系統已經發展了十年了,**庫之大讓linus很難繼續通過手工方式管理了,社群的弟兄們也對這種方式表達了強烈不滿,於是linus選擇了乙個商業的版本控制系統bitkeeper,bitkeeper的東家bitmover公司出於人道主義精神,授權linux社群免費使用這個版本控制系統。
2023年,linux社群牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發samba的andrew試圖破解bitkeeper的協議(這麼幹的也不只他乙個),被bitmover公司發現了(監控工作做得不錯),於是bitmover公司怒了,要收回linux社群的免費使用權。
linus可以向bitmover公司道個歉,保證以後嚴格管教弟兄們。但linus沒有這樣做,而是花兩周時間自己用c寫了乙個分布式版本控制系統,這就是git。乙個月內,linux系統的原始碼就由git管理了。
從此,git 迅速成為最流行的分布式版本控制系統。尤其是2023年,github**上線了,它為開源專案免費提供git儲存,無數開源專案開始遷移至github,包括jquery,php,ruby等等。
linus一直痛恨的cvs及svn都是集中式的版本控制系統,所以才建立分布式版本控制系統git。
集中式版本控制系統 vs 分布式版本控制系統
集中式版本控制系統
版本庫是集中存放在**伺服器的,幹活時,都是用自己的電腦,所以要先從**伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給**伺服器。
**伺服器就好比是乙個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。
弊端1、必須聯網才能工作:若在區域網內還好,速度夠快;若在網際網路上,對網速有要求。分布式版本控制系統
沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫,這樣就不用聯網了。
既然每個人電腦上都有乙個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案a,你的同事也在他的電腦上改了檔案a,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。
優勢1、分支:強大的分支管理;2、安全:每個人電腦裡都有完整的版本庫,某乙個人的電腦壞掉了不要緊,隨便從其他人那裡複製乙個就可以了。
在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。
專案中長期存在的兩個分支
其它分支為短期分支,其完成功能開發之後需要刪除
Git學習(一)簡介
很多人都知道,linus在1991年建立了開源的linux,從此,linux系統不斷發展,已經成為最大的伺服器系統軟體了。linus雖然建立了linux,但linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為linux編寫 那linux的 是如何管理的呢?事實是,在2002年以前,世界...
Git學習教程(一) git簡介
第一課.git簡介 內容 什麼是git,為什麼要使用git以及獲取和學習git的途徑。歡迎來到github學習教程的第一課。本教程將通過一系列的例項來介紹如快速,輕鬆地使用git。教程中會有很多螢幕截圖,希望這樣可以讓你更好的學習和理解。本節簡要介紹git的概念和為什麼應該使用它 git是乙個快速,...
Git學習 簡介
git是什麼?是一款免費 開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。特點 分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖 git clone 在本地機器上拷貝乙個完整的git倉庫。安裝 linux centos yum y install git wi...