什麼是Git Git 是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的項目。 Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。 Git 與常用的版本控制工具 CVS, Subversion 等不同,它採用了分散式版本庫的 ...
什麼是Git
Git 是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的項目。
Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。
Git 與常用的版本控制工具 CVS, Subversion 等不同,它採用了分散式版本庫的方式,不必伺服器端軟體支持。
Git 與 SVN 區別
Git 不僅僅是個版本控制系統,它也是個內容管理系統(CMS),工作管理系統等。
如果你是一個具有使用 SVN 背景的人,你需要做一定的思想轉換,來適應 Git 提供的一些概念和特征。
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 哈希演算法。這能確保代碼內容的完整性,確保在遇到磁碟故障和網路問題時降低對版本庫的破壞。
分支管理規範
主要分支
Master 生產分支:永遠處在即將發佈(production-ready)狀態
Develop開發分支:最新的開髮狀態
輔助分支
Feature 功能分支:開發新功能的分支,基於develop,開發完成後merge回develop
Release 發佈分支:準備要發佈版本的分支(測試環境用的),用來修複SIT bug; 基於develop分支,完成後merge回develop和master分支
Hotfix 補丁分支:修複線上(master)緊急bug,等不及release分支就必須馬上上線; 基於master分支,完成後merge回master和develop分支。
可視化管理工具推薦
1、TortoiseGit 萬能小烏龜;
優點:幾乎支持 git 的所有操作;
缺點:不好看。
2、Fork
優點:好看,支持大部分 git 操作;
缺點:沒有中文。