版本控制系統「vcs」,簡單理解為記錄每次更改記錄的系統,以便檢視歷史修改記錄,更好的管理檔案和軟體。
但是缺點也在,比如有很多人要協同完成同乙個專案,修改的話客戶端必須聯網,才能將自己的東西提交到伺服器進行版本修改,而且,如果伺服器出現嚴重問題,可能還會導致資料丟失。
後來,linus 可能認為這樣很麻煩,畢竟自己開發 linux 到了後期管理起來很不方便,便自己寫出了現在的 git「分布式版本控制系統」。
優點很大一點就是:開發人員可以在沒網狀態下修改專案或檔案,等到有網了再進行修改同步,也不用當心資料丟失,因為在使用 git 的客戶機上都有被分解,大大提高了開發效率。
git的功能特性:
從一般開發者的角度來看,git有以下功能:
1、從伺服器上轉殖完整的git倉庫(包括**和版本資訊)到單機上。
2、在自己的機器上根據不同的開發目的,建立分支,修改**。
3、在單機上自己建立的分支上提交**。
4、在單機上合併分支。
5、把伺服器上最新版的** fetch 下來,然後跟自己的主分支合併。
6、生成補丁(patch),把補丁傳送給主開發者。
7、看主開發者的反饋,如果主開發者發現兩個一般開發者之間有衝突(他們之間可以合作解決的衝突),就會要求他們先解決衝突,然後再由其中乙個人提交。如果主開發者可以自己解決,或者沒有衝突,就通過。
8、一般開發者之間解決衝突的方法,開發者之間可以使用 pull 命令解決衝突,解決完衝突之後再向主開發者提交補丁。
從主開發者的角度(假設主開發者不用開發**)看,git有以下功能:
1、檢視郵件或者通過其它方式檢視一般開發者的提交狀態。
2、打上補丁,解決衝突(可以自己解決,也可以要求開發者之間解決以後再重新提交,如果是開源專案,還要決定哪些補丁有用,哪些不用)。
3、向公共伺服器提交結果,然後通知所有開發人員。
優點:適合分布式開發,強調個體。
公共伺服器壓力和資料量都不會太大。
速度快、靈活。
任意兩個開發者之間可以很容易的解決衝突。
離線工作。
缺點:資料少(起碼中文資料很少)。
學習週期相對而言比較長。
不符合常規思維。
**保密性差,一旦開發者把整個庫轉殖下來就可以完全公開所有**和版本資訊。
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....
git版本控制系統
svn屬於集中化版本控制系統,c s架構 git屬於分布式版本控制系統 你的本地倉庫主要由三部分組成。第乙個是你的 工作目錄,它持有實際檔案 第二個是 快取區 index 它像個快取區域,臨時儲存你的改動 第三個head,指向你最近一次提交後的結果。當使用add命令提交時,先提交到快取區,然後再使用...