github是全球最大的開源專案託管平台,這個平台在技術領域也非常有影響力,**託管必然離不開版本控制,下面就介紹一下版本控制系統。
q1:什麼是版本控制系統?
a:版本控制系統的英文名叫做vcs(version control system),版本控制系統是以記錄目錄或檔案的改變為基礎的。試想一下,如果沒有版本控制系統,我們開發乙個專案若想記錄每個版本,可能每次改動都要另存為乙個新的檔案,這樣的後果是,在若干版本中我們很難找到我們想要的歷史版本,就算找到,也很難找出所有被改動的位置。我們有了版本控制系統會發生什麼變化那?我們可以輕鬆快速準確找到提交人、提交時間、版本概述、具體哪些內容發生了變化等。
q2:版本控制系統的功能?
a:1、記錄版本差異。在版本控制系統的幫助下開發專案,每一處改變例如新增、修改、移動檔案或刪除目錄等都會被自動地記錄下來,當你提交新版本的時候,系統會把所有改變彙總成乙個集合,現在專案包含的所有檔案為乙個新的版本。
2、**備份。倉庫(repository)(乙個專案一旦被版本控制工具控制,就被稱為倉庫)可以記錄當前和歷史版本的所有資訊(提交人、提交時間、版本概述、具體哪些內容發生了變化等),支援**的恢復,有利於從巨集觀上把握進度和方向。
3、**共享。通常倉庫是放在特定伺服器上,這樣團隊成員可以隨時轉殖、提交和更新**。**提交與更新時會有衝突提示,非常利於多人合作。遇到問題可以檢視別人的**,即使發現bug也可以輕鬆找到責任人。
4、建立分支(branching)與合併(merging)。版本控制系統支援建立分支。當為專案增加新功能但是有可能影響專案整體穩定性時可以複製倉庫到分支下,分支和主幹互不影響。當分支內容趨於成熟和穩定時,可以與和主幹進行合併。(博主大大感覺分支的概念不太好理解,不懂看這裡!)
a: 1、追蹤變化。根據版本控制系統的不同,有的可以追蹤出哪個檔案發生了變化,有的甚至可以追蹤出檔案所有細節的變化,包括字元和位元組的變化。
2、提交版本(committing)。在版本控制系統的幫助下開發專案,每一處改變例如新增、修改、移動檔案或刪除目錄等都會被自動地記錄下來,當你提交新版本的時候,系統會把所有改變彙總成乙個集合,現在專案包含的所有檔案為乙個新的版本。
3、修訂版本(revisions)和變更集(changeset)。當使用者提交了乙個版本,所有的變化以變更集的形式記錄了下來,成為乙個獨特的修訂版本,版本號可能是遞增的數字或獨特的雜湊值,這是由具體的版本控制系統決定的。變更集不僅包括專案內容的變化,還包括提交人、提交時間、版本概述等。有了如此詳細的資訊,開發專案不僅井井有條,而且效率會大增。
6、分支與合併,同q2。
q4:版本控制系統的分類?(參考文件)
a: 1、本地版本控制系統。僅支援本地的操作。對於每個版本,儲存的是檔案修訂前後的變化。每個版本是通過記錄變化的檔案運算後得到版本的具體內容。優點:開創版本控制先河。缺點:不支援團隊協作,資料丟失難找回。本地版本控制系統最流行的是rcs。
版本控制系統
linux一直痛恨的cvs及svn都是集中式的版本控制系統,而git是分布式版本控制系統,集中式和分布式版本控制系統有什麼區別呢?1 集中式版本控制系統 代表 svn cvs 版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再...
git版本控制系統
總結 1.初始化乙個git倉庫,使用 git init 命令 2.新增檔案到git倉庫分兩步 第一步,使用命令 git add file 注意,可反覆多次使用,新增多個檔案 第二步,使用命令 git commit 完成小結 1 head 指向的是當前版本,因此可以使用 git reset hard ...
git 版本控制系統
一 git版本控制 解決的三個痛點問題 作用 1.解決虛擬機器意外壞了 磁碟損壞等意外情況 2.版本持續變化,需要對很多個版本進行管理 3.能夠方便多人進行協同開發 建議 使用centos7 centos6中git版本太低 注意 git與linux作者相同 二 git版本控制的特點 1.分布式 2....