Atitit.eclipse git使用 1. Git vs svn1 1.1. 直接記錄快照,而非差異比較1 1.2. Git的patch則不依附於branch,commit和commit之間的關係是一個GRAPH3 1.3. hg 本地有更改的時候,可以直接 pull 遠程代碼,然後在自己當前更 ...
Atitit.eclipse git使用
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
1. Git vs svn
像svn一樣commit即push完全是災難
Git need add,commit,then push to remote svr.
hg commit 代碼的時候,預設就是當前所有更改。而 git 必須先 add 當前的修改,然後再commit。
1.1. 直接記錄快照,而非差異比較
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 會取出一個月前的快照和當前文件作一次差異運算,而不用請求遠程伺服器來做這件事,或是把老版本的文件拉到本地來作比較。
1.2. Git的patch則不依附於branch,commit和commit之間的關係是一個GRAPH
拿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.3. hg 本地有更改的時候,可以直接 pull 遠程代碼,然後在自己當前更改的工作目錄中進行歸併,從而不創建額外的分支
1.4. 。git 在這種情況下,必須提交或者放棄自己的本地工作,然後 pull 遠程代碼,然後歸併分支,也就是說,git 在這種情況下強制性創建分支。
1.5. 基於git的設計:每個clone都必須包含完整的目錄樹和完整的歷史,否則不能跟蹤原始倉庫的進一步變化
。具體來說,
(1) 很難直接跟蹤git倉庫的某個子目錄:必須clone整個倉庫然後做subtree merge。而SVN則可以直接checkout/update某個子目錄。
(2) 每個版本之間變化都非常大時不適用git。比如說可以用svn去管理binary release的各個版本,客戶端可以選擇checkout哪個branch或者tag;但如果用git,就得先全clone到本地,這就瘋了。
2. 當然,git也有一些缺點,可能有些團隊還是比較看重的:
1.目錄級別的訪問控制,讓有的成員只能訪問某一目錄(通常是模塊);
2.直觀的版本號;
3.部分檢出一個目錄,通常是一個模塊/分支;
2.1. User or create respon in parent folder of prj
Create repos workspace\.git
3. Commit
First add to index
Then commit..
Bier yva file yao ni select l ..
Git 的主要特點.html