<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 閱讀(613) 評論(0)  編輯  收藏 所屬分類: git

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


    網站導航:
     
    主站蜘蛛池模板: 久久精品国产精品亚洲| 猫咪免费观看人成网站在线| 丝袜捆绑调教视频免费区| 免费人成视频在线观看视频| 亚洲精品中文字幕| 看全色黄大色大片免费久久| 亚洲精品无码久久| 四虎影视免费永久在线观看| 美女被免费网站视频在线| 亚洲 自拍 另类小说综合图区| 国产精品亚洲五月天高清| 亚洲国产精品不卡毛片a在线| 免费无码又爽又黄又刺激网站| 亚洲精品麻豆av| 国产免费黄色无码视频| 亚洲成av人影院| 99re免费99re在线视频手机版| 97se亚洲综合在线| 在线a级毛片免费视频| 亚洲sm另类一区二区三区| 日本高清免费中文字幕不卡| 日韩免费码中文在线观看| 亚洲精品夜夜夜妓女网| 最近免费最新高清中文字幕韩国| 亚洲一级高清在线中文字幕| 午夜dj在线观看免费视频| 国产亚洲精品国产福利在线观看 | 精品国产精品久久一区免费式| 亚洲AV性色在线观看| 在线观看亚洲成人| 96免费精品视频在线观看| 亚洲色大成网站www久久九| 亚洲人成色77777在线观看大 | 无码国产精品一区二区免费| 亚洲日韩AV无码一区二区三区人| 亚洲国产精品自产在线播放 | 国产亚洲精aa在线看| 亚洲中文字幕丝袜制服一区| 1000部拍拍拍18勿入免费视频下载| 亚洲日韩一区精品射精| 在线亚洲午夜理论AV大片|