Atitit.eclipse git使用
1. Git vs svn1
1.1. 直接記錄快照,而非差異比較1
1.2. Git的patch則不依附於branch,commit和commit之間的關系是一個GRAPH3
1.3. hg 本地有更改的時候,可以直接 pull 遠程代碼,然後在自己當前更改的工作目錄中進行歸並,從而不創建額外的分支3
1.4. 。git 在這種情況下,必須提交或者放棄自己的本地工作,然後 pull 遠程代碼,然後歸並分支,也就是說,git 在這種情況下強制性創建分支。3
1.5. 基於git的設計:每個clone都必須包含完整的目錄樹和完整的歷史,否則不能跟蹤原始倉庫的進一步變化3
2. 當然,git也有一些缺點,可能有些團隊還是比較看重的:4
2.1. User or create respon in parent folder of prj4
3. Commit4
像svn一樣commit即push完全是災難
Git need add,commit,then push to remote svr.
hg commit 代碼的時候,缺省就是當前所有更改。而 git 必須先 add 當前的修改,然後再commit。
Git 和其他版本控制系統的主要差別在於,Git 只關心文件數據的整體是否發生變化,而大多數其他系統則只關心文件內容的具體差異。這類系統(CVS,Subversion,Perforce,Bazaar 等等)每次記錄有哪些文件作了更新,以及都更新了哪些行的什麼內容,請看圖 1-4。
作者:: ★(attilax)>>> 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍, EMAIL:[email protected]
轉載請注明來源: http://www.cnblogs.com/attilax/
Git 並不保存這些前後變化的差異數據。實際上,Git 更像是把變化的文件作快照後,記錄在一個微型的文件系統中。每次提交更新時,它會縱覽一遍所有文件的指紋信息並對文件作一快照,然後保存一個指向這次快照的索引。為提高性能,若文件沒有變化,Git 不會再次保存,而只對上次保存的快照作一鏈接。Git 的工作方式就像圖 1-5 所示。
這是 Git 同其他系統的重要區別。它完全顛覆了傳統版本控制的套路,並對各個環節的實現方式作了新的設計。Git 更像是個小型的文件系統,但它同時還提供了許多以此為基礎的超強工具,而不只是一個簡單的 VCS。
。如果想要看當前版本的文件和一個月前的版本之間有何差異,Git 會取出一個月前的快照和當前文件作一次差異運算,而不用請求遠程服務器來做這件事,或是把老版本的文件拉到本地來作比較。
拿CVS來比較的話,CVS的patch是基於branch的,patch和patch之間的關系是一個TREE。而Git的patch則不依附於branch,commit和commit之間的關系是一個GRAPH。用不同的路徑串起Git裡的commit,就可以形成不同的branch。
這裡說patch不依附於branch可能有些人不理解,提交patch的時候,不總是在某個開發分支上commit然後push的嗎?不錯,但是一個commit一旦提交了,就不再依附於原來的branch,而成為repository裡的一個離散的點。
Git裡的所謂branch,只是在這個星羅密布的點陣裡面,畫一條串起若干commit的連線。
。具體來說,
(1) 很難直接跟蹤git倉庫的某個子目錄:必須clone整個倉庫然後做subtree merge。而SVN則可以直接checkout/update某個子目錄。
(2) 每個版本之間變化都非常大時不適用git。比如說可以用svn去管理binary release的各個版本,客戶端可以選擇checkout哪個branch或者tag;但如果用git,就得先全clone到本地,這就瘋了。
1.目錄級別的訪問控制,讓有的成員只能訪問某一目錄(通常是模塊);
2.直觀的版本號;
3.部分檢出一個目錄,通常是一個模塊/分支;
Create repos workspace\.git
First add to index
Then commit..
Bier yva file yao ni select l ..
Git 的主要特點.html