<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

    如果你在讀這篇文章,說明你跟大多數開發者一樣對GIT感興趣,如果你還沒有機會來試一試GIT,我想現在你就要了解它了。

    GIT不僅僅是個版本控制系統,它也是個內容管理系統(CMS),工作管理系統等。如果你是一個具有使用SVN背景的人,你需要做一定的思想轉換,來適應GIT提供的一些概念和特征。所以,這篇文章的主要目的就是通過介紹GIT能做什么、它和SVN在深層次上究竟有什么不同來幫助你認識它。

    那好,這就開始吧…

    1.GIT是分布式的,SVN不是:

    這是GIT和其它非分布式的版本控制系統,例如SVN,CVS等,最核心的區別。如果你能理解這個概念,那么你就已經上手一半了。需要做一點聲明,GIT并不是目前第一個或唯一的分布式版本控制系統。還有一些系統,例如BitkeeperMercurial等,也是運行在分布式模式上的。但GIT在這方面做的更好,而且有更多強大的功能特征。

    GIT跟SVN一樣有自己的集中式版本庫或服務器。但,GIT更傾向于被使用于分布式模式,也就是每個開發人員從中心版本庫/服務器上chect out代碼后會在自己的機器上克隆一個自己的版本庫。可以這樣說,如果你被困在一個不能連接網絡的地方時,就像在飛機上,地下室,電梯里等,你仍然能夠提 交文件,查看歷史版本記錄,創建項目分支,等。對一些人來說,這好像沒多大用處,但當你突然遇到沒有網絡的環境時,這個將解決你的大麻煩。

    同樣,這種分布式的操作模式對于開源軟件社區的開發來說也是個巨大的恩賜,你不必再像以前那樣做出補丁包,通過email方式發送出去,你只需要創建一個分支,向項目團隊發送一個推請求。這能讓你的代碼保持最新,而且不會在傳輸過程中丟失。GitHub.com就是一個這樣的優秀案例。

    有些謠言傳出來說subversion將來的版本也會基于分布式模式。但至少目前還看不出來。

    2.GIT把內容按元數據方式存儲,而SVN是按文件:

    所有的資源控制系統都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾里。如果你把.git目錄的 體積大小跟.svn比較,你會發現它們差距很大。因為,.git目錄是處于你的機器上的一個克隆版的版本庫,它擁有中心版本庫上所有的東西,例如標簽,分 支,版本記錄等。

    3.GIT分支和SVN的分支不同:

    分支在SVN中一點不特別,就是版本庫中的另外的一個目錄。如果你想知道是否合并了一個分支,你需要手工運行像這樣的命令svn propget svn:mergeinfo,來確認代碼是否被合并。感謝Ben同學指出這個特征。所以,經常會發生有些分支被遺漏的情況。

    然而,處理GIT的分支卻是相當的簡單和有趣。你可以從同一個工作目錄下快速的在幾個分支間切換。你很容易發現未被合并的分支,你能簡單而快捷的合并這些文件。

    4.GIT沒有一個全局的版本號,而SVN有:

    目前為止這是跟SVN相比GIT缺少的最大的一個特征。你也知道,SVN的版本號實際是任何一個相應時間的源代 碼快照。我認為它是從CVS進化到SVN的最大的一個突破。因為GIT和SVN從概念上就不同,我不知道GIT里是什么特征與之對應。如果你有任何的線 索,請在評論里奉獻出來與大家共享。

    更新:有些讀者指出,我們可以使用GIT的SHA-1來唯一的標識一個代碼快照。這個并不能完全的代替SVN里容易閱讀的數字版本號。但,用途應該是相同的。

    5.GIT的內容完整性要優于SVN:

    GIT的內容存儲使用的是SHA-1哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。這里有一個很好的關于GIT內容完整性的討論 –http://stackoverflow.com/questions/964331/git-file-integrity

    GIT和SVN之間只有這五處不同嗎?當然不是。我想這5個只是“最基本的”“最吸引人”的,我只想到這5點。如果你發現有比這5點更有趣的,請共享出來,歡迎。




    posted on 2015-10-11 22:41 abin 閱讀(602) 評論(0)  編輯  收藏 所屬分類: git

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲熟女一区二区三区| 亚洲一本一道一区二区三区| 羞羞漫画在线成人漫画阅读免费| 波多野结衣在线免费视频| 亚洲精品亚洲人成在线麻豆| 毛片无码免费无码播放| 亚洲经典在线中文字幕| 在人线av无码免费高潮喷水| 国产成人精品日本亚洲专一区| 国产v精品成人免费视频400条| 亚洲熟伦熟女专区hd高清| 国产一级淫片a视频免费观看| 羞羞网站免费观看| 亚洲精品自在在线观看| 精品无码无人网站免费视频| 91嫩草亚洲精品| 国产成人免费福利网站| 成在线人免费无码高潮喷水| 亚洲欧洲免费视频| 无码一区二区三区免费视频| 美女黄色毛片免费看| 亚洲春色在线视频| 99在线视频免费观看视频| 亚洲av无码专区在线观看亚| 亚洲爽爽一区二区三区| 少妇太爽了在线观看免费视频| 亚洲综合色区中文字幕| 亚洲精品麻豆av| 最近2018中文字幕免费视频| 亚洲hairy多毛pics大全| 亚洲情侣偷拍精品| 亚洲视频免费在线看| 久久精品国产亚洲AV| 亚洲精品二区国产综合野狼| 希望影院高清免费观看视频| 日韩免费码中文在线观看| 亚洲色四在线视频观看| 国产精品极品美女免费观看| 暖暖免费日本在线中文| 亚洲AV成人无码久久WWW| 久久亚洲精品视频|