svn屬於集中式版本控制系統,git屬於分布式版本控制系統,兩者的區別:
集中式版本控制系統最大的毛病就是必須聯網才能工作,如果在區域網內還好,頻寬夠大,速度夠快,可如果在網際網路上,遇到網速慢的話,可能提交乙個10m的檔案就需要5分鐘。
分布式版本控制系統與集中式版本控制系統有何不同呢?首先,分布式版本控制系統根本沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有乙個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案a,你的同事也在他的電腦上改了檔案a,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。
和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦裡都有完整的版本庫,某乙個人的電腦壞掉了不要緊,隨便從其他人那裡複製乙個就可以了。而集中式版本控制系統的**伺服器要是出了問題,所有人都沒法幹活了。
在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。
sourcetree的原理:和svn不同,svn採用的是本地**和伺服器倉庫(遠端**倉庫)兩個層面的源**管理,使用者只要提交**,本地的**將直接和遠端**互動。所有使用者都是共用乙個**倉庫,而sourcetree操作的git則不同,是三層架構,本地在寫**——>本地**(中轉)倉庫——>遠端**倉庫。而這裡首先都會先與本地倉庫進行互動。
雖然只是多了一層本地**倉庫的概念,但卻為我們提供了很大的方便,在本地倉庫中,我們可以解決非常多的事情,比如版本控制器中最煩躁的問題,版本衝突的問題,這樣版本衝突一般只在本地倉庫發生,方便解決!
解決衝突:
當你的sourcetree合併**衝突的時候,你是不能提交**的(一般的流程是你先將遠端a分支pull下來,在本地解決了衝突之後,再往遠端a分支提交。)。
這時sourcetree會顯示合併衝突,開啟你衝突的檔案,會發現裡面多了類似這樣的東西。
>>>
---
<<<
這裡面有你以前的**和你拉下來的**,核對以下,然後刪除你不要的就可以了。
版本管理工具
美的程式 簡明 少,邏輯質樸,演算法精煉,乙個程式只做一件事情,只有必要功能 好像是 impossible mission。一致 提示資訊的一致,ui 的一致。容錯 程式很穩健,適應各種惡劣情況,以 c 這種語言只有靠長時間補丁才能達到虛假的穩健。高效 盡可能高效。簡評一下幾種版本管理工具 cvs,...
git版本管理工具
以svn為代表的集中式版本控制系統,只有乙個 庫,開發的時候需要先從 庫獲取到最新的版本,然後開始幹活,幹完活之後提交到 伺服器。而git是一種分布式管理控制,每個使用 庫的機器上面都可以有自己的本地 庫,如果多人協作開發的話,只需要用一台伺服器作為中轉,來同步不同使用者之間的本地庫就行了,這樣在沒...
版本管理工具使用
更多使用方法參照 如果git clone不了,嘗試在網頁上新增readme.md檔案後再clone 獲取更新 git pull 配置git remote add origin git push origin master 修改檔案 建立資料夾後 git add git commit m edit g...