優點:
1.分布式開發時,可以git clone克隆一個本地版本,然后在本地進行操作提交,本地可以完成一個完整的版本控制。在發布的時 候,使用git push來推送到遠程即可。
2.git分支的本質是一個指向提交快照的指針,速度快、靈活,分支之間可以任意切換。都可以在本地進行操作可以不同步到遠程
3.沖突解決,多人開發很容易就會出現沖突,可以先pull遠程到本地,然后在本地合並一下分支,解決好沖突,在push到遠程即 可。
4.離線工作,如果git服務器出現問題,也可以在本地進行切換分支的操作,等聯網后再提交、合並等操作。
缺點:
1.git沒有嚴格的權限控制,一般是通過系統設置文件的讀寫權限來做權限控制。
2.工作目錄只能是整個目錄,而svn可以單獨checkout某個有權限的目錄。
3.git上手可能沒有svn那邊順手,需要經過學習一下。
總結:
1.如果對訪問控制、權限分配和代碼安全性等要求比較高的,建議使用svn。
2.如果是分布式,多人開發,版本迭代比較快的項目,建議使用git。