最近由於學校放假,不給留宿,所以一直忙於找房子,今天終於安頓下來了,之前總以為這一天離我還很遠,沒想到竟然來的這麼快。不過也好,遲早都要來的,早來早面對。凡事都有他的好的一面,只要我們心是向陽的。就好比今天我與大家分享的話題,svn vs git。
我對版本控制工具用的不多,目前最常用的就是svn,但是說實話我對它內部的實現細節還是不清楚。最近剛好接觸了git,跟一位資深的工程師交流後,才對這兩款版本控制器有了乙個清晰的認識。下面我就個人的一點總結跟大家分享下:
首先版本控制系統呢是為了更加高效的管理乙個團隊開發的專案,對參與開發人員提供乙個高效,高質量的共同協作開發的環境。下面我們詳細介紹其中兩種:
git:
git是乙個成功的開源專案,因為他有乙個好的故事。git其實開始目的是為了開源系統linux服務的,因為曾經乙個免費為linux提供專案管理的工具突然提出收費,所以linux決定自己開發一款可以幫助維護**的工具,免得日後再出現這種滑稽的事情,因此他的名字取為git,非常滑稽的乙個名字,就是提醒自己以後別犯同樣的錯誤。git因此而得名,從此走上一條免費的不歸路。他的出現,給我們帶來了很大的幫助,據說微軟現在特別依賴git。確實如此,當我第一次接觸後,感覺完全不一樣與傳統的版本控制器,他突破了傳統的版本控制工具的固有模式。
1.典型的分布式系統。採用分布式原理實現,這樣對於集中式版本控制工具解決了乙個問題,就是單點問題,萬一server出現問題,專案不會因此而遭到損失。
2.檔案系統。版本控制系統,其實更加像乙個檔案管理系統。
3.他的運作方式就是每次只關注整體檔案的變化,不關注細節,如果檔案有變化則會做乙個映象出來,如果檔案沒有變化,就會產生乙個指向原檔案的鏈結。
他在時間成本方面控制的非常好,速度非常的快,與檔案的大小沒有關係。但是在空間上面就顯的比較弱勢。個人覺的以現在的科技,容量不是問題,時間更加珍貴一些。
svn:
我想大部分人都對svn比較熟悉,沒有用過的也有聽過,因為在學校老師一定會提到它。所以我就在這裡不賣弄了(怕出醜<^^>)。svn同樣是版本控制器界非常優秀的工具。
它的工作流程是:
1.在server上download專案。
2.開始在自己那部分做操作。
3.完成相應的操作後,重新像server提交自己修改的部分。
大概流程就是這樣的,看上去比較簡單,但是實際是比較複雜的。有幾點需要清楚,我們所有開發人員共同使用乙個server提交**,提交update的部分首先保持網路是通的。在每次提交時首先要update到本地,保證與server的一致,然後再把自己修改的那部分commit上去。svn在這個過程中更加注重檔案內部的變化。所以與git相比而言速度要慢,但是他不會像git那樣只要檔案有改變就做映象,在考慮空間上面是優先選者。本來想多聊會svn,但還是算了,因為我對svn確實不夠了解,所以有些內容不能胡亂表達,這樣對乙個初學者是不公平的。
內容有些凌亂,只有當把自己認為理解的東西表達出來時,才發現你根本還沒有理解,所以每次還是很有勇氣寫下這些亂七八糟的東西,希望自己也可以從中再次學習。
版本控制工具
1.vss 不常用 visual source safe 美國微軟公司的產品,目前常用的版本為6.0版。配置管理的功能比較基本,提供檔案的版本跟蹤功能,安全性不高 微軟不再對vss提供技術支援。2.cvs 不常用 concurrent version system 開發源 的配置管理工具 源於uni...
版本控制工具 SVN
學習svn的 svn入門使用 伺服器 tigris svn 客戶端 tortoise svn 伺服器的搭建 tigris svn server 1.6.5 2 建立中心庫 svnadmin create d share svnrepo 3 修改許可權配置 修改conf svnserve.conf 檔...
git版本控制工具
安裝while true 下一步 安裝完成後,開啟git bash git config global user.name xx git config global user.email xx cd到專案根目錄 git init git add 首次新增全部內容 git commit m first...