史上最強Git教程
1.
Git(分佈式倉庫)。
Git是一個開源的分佈式版本控制系統,用於敏捷高效地處理任何或小或大的項目。
Git 與常用的版本控制工具 CVS, Subversion 等不同,它採用了分佈式版本庫的方式,不必服務器端軟件支持。
詳情參考:http://www.runoob.com/git/git-tutorial.html
使用Git前,需要先建立一個倉庫(repository)。您可以使用一個已經存在的目錄作爲Git倉庫或創建一個空目錄。
2.
Git 與 SVN 區別
GIT不僅僅是個版本控制系統,它也是個內容管理系統(CMS),工作管理系統等。
如果你是一個具有使用SVN背景的人,你需要做一定的思想轉換,來適應GIT提供的一些概念和特徵。
SVN的操作有兩種:SVN命令版,SVN客戶端(儘量使用它)。
2.1
SVN簡介
Subversion(SVN) 是一個開源的版本控制系統, 也就是說 Subversion 管理着隨時間改變的數據。 這些數據放置在一箇中央資料檔案庫(repository) 中
SVN 的一些概念
· repository(源代碼庫):源代碼統一存放的地方
· Checkout(提取):當你手上沒有源代碼的時候,你需要從repository checkout一份
· Commit(提交):當你已經修改了代碼,你就需要Commit到repository
· Update (更新):當你已經Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會有最新的變更
日常開發過程其實就是這樣的(假設你已經Checkout並且已經工作了幾天):Update(獲得最新的代碼) -->作出自己的修改並調試成功 --> Commit(大家就可以看到你的修改了) 。
如果兩個程序員同時修改了同一個文件呢, SVN可以合併這兩個程序員的改動,實際上SVN管理源代碼是以行爲單位的,就是說兩個程序員只要不是修改了同一行程序,SVN都會自動合併兩種修改。如果是同一行,SVN會提示文件Confict, 衝突,需要手動確認。
2.2
CVS是一個C/S系統,是一個常用的代碼版本控制軟件。主要在開源軟件管理中使用。與它相類似的代碼版本控制軟件有subversion。多個開發人員通過一箇中心版本控制系統來記錄文件版本,從而達到保證文件同步的目的。CVS版本控制系統是一種GNU軟件包,主要用於在多人開發環境下的源碼的維護。但是由於之前CVS編碼的問題,現在大多數軟件開發公司都使用SVN替代了CVS。
Git 與 SVN 區別點:
1、GIT是分佈式的,SVN不是:這是GIT和其它非分佈式的版本控制系統,例如SVN,CVS等,最核心的區別。
2、GIT把內容按元數據方式存儲,而SVN是按文件:所有的資源控制系統都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾裏。
3、GIT分支和SVN的分支不同:分支在SVN中一點不特別,就是版本庫中的另外的一個目錄。
4、GIT沒有一個全局的版本號,而SVN有:目前爲止這是跟SVN相比GIT缺少的最大的一個特徵。
5、GIT的內容完整性要優於SVN:GIT的內容存儲使用的是SHA-1哈希算法。這能確保代碼內容的完整性,確保在遇到
磁盤故障和網絡問題時降低對版本庫的破壞。
3.
團隊協作【這是SVN原理】
秉承原則:先同步(更新) ——> 再修改(寫代碼) ——> 然後提交。
目的:有效的防止代碼衝突問題。
4.
Git服務器(原理圖)
如果你懂這個原理soeasy,不懂就特別彆扭!
5.安裝
Git 安裝配置
在使用Git前我們需要先安裝 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平臺上運行。
Git 各平臺安裝包下載地址爲:http://git-scm.com/downloads
安裝流程 網上有很多教程,非常簡單,這裏就不一一細說了。