標籤:git
git入門(1.曆史)
git入門(2.基礎)
git入門(3.檔案操作)
git入門(4.提交與曆史)
git入門(5.分支)
git入門(6.repo)
版本控制
版本控制是什麼已不用在說了,就是記錄我們對檔案、目錄或工程等的修改曆史,方便查看更改曆史,備份以便恢複以前的版本,多人協作。。。
一、原始版本控制
最原始的版本控制是純手工的版本控制:修改檔案,儲存檔案副本。有時候偷懶省事,儲存副本時命名比較隨意,時間長了就不知道哪個是新的,哪個是老的了,即使知道新舊,可能也不知道每個版本是什麼內容,相對上一版作了什麼修改了,當幾個版本過去後,很可能就是下面的樣子了:
650) this.width=650;" class="confluence-embedded-image" src="http://wiki.sankuai.com/download/attachments/326719775/image2015-8-17%2013%3A17%3A10.png?version=1&modificationDate=1439788768000&api=v2" style="margin:0px 2px;padding:0px;border:0px;" alt="image2015-8-17%2013%3A17%3A10.png?versio" />
二、本地版本控制
手工管理比較麻煩且混亂,所以出現了本地版本控制系統,記錄檔案每次的更新,可以對每個版本做一個快照,或是記錄補丁檔案。比如RCS。
650) this.width=650;" class="confluence-embedded-image" src="http://wiki.sankuai.com/download/attachments/326719775/image2015-8-17%2013%3A17%3A25.png?version=1&modificationDate=1439788768000&api=v2" style="margin:0px 2px;padding:0px;border:0px;" alt="image2015-8-17%2013%3A17%3A25.png?versio" />
三、集中版本控制
但是本地版本控制系統偏向於個人使用,或者多個使用的人必須要使用相同的裝置,如果需要多人協作就不好辦了,於是,集中化的版本控制系統( Centralized Version Control Systems,簡稱 CVCS )應運而生,比如Subversion,Perforce。
在CVCS中,所有的版本資料都儲存在伺服器上,一起工作的人從伺服器上同步更新或上傳自己的修改。
650) this.width=650;" class="confluence-embedded-image" src="http://wiki.sankuai.com/download/attachments/326719775/image2015-8-17%2013%3A17%3A45.png?version=1&modificationDate=1439788768000&api=v2" style="margin:0px 2px;padding:0px;border:0px;" alt="image2015-8-17%2013%3A17%3A45.png?versio" />
但是,所有的版本資料都存在伺服器上,使用者的本地裝置就只有自己以前所同步的版本,如果不連網的話,使用者就看不到曆史版本,也無法切換版本驗證問題,或在不同分支工作。。
而且,所有資料都儲存在單一的伺服器上,有很大的風險這個伺服器會損壞,這樣就會丟失所有的資料,當然可以定期備份。
四、分布式版本控制
針對CVCS的以上缺點,出現了分布式版本控制系統( Distributed Version Control System,簡稱 DVCS ),如GIT,Mercurial。
DVCS不是複製指定版本的快照,而是把所有的版本資訊倉庫全部同步到本地,這樣就可以在本地查看所有版本曆史,可以離線在本地提交,只需在連網時push到相應的伺服器或其他使用者那裡。由於每個使用者那裡儲存的都是所有的版本資料,所以,只要有一個使用者的裝置沒有問題就可以恢複所有的資料。
650) this.width=650;" class="confluence-embedded-image" src="http://wiki.sankuai.com/download/attachments/326719775/image2015-8-17%2013%3A18%3A5.png?version=1&modificationDate=1439788768000&api=v2" style="margin:0px 2px;padding:0px;border:0px;" alt="image2015-8-17%2013%3A18%3A5.png?version" />
當然,這增加了本機存放區空間的佔用。
--------------------------------------------附件是全部的內容--------------------------------------------------------
版本控制.doc
----------------------------------------------轉載自----------------------------------------------------------------------
http://www.cnblogs.com/angeldevil/p/3238470.html
git入門(1.曆史)