<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大片| 未满十八私人高清免费影院| 四虎永久成人免费影院域名| 久久人午夜亚洲精品无码区| 午夜免费福利影院| 亚洲aⅴ无码专区在线观看春色 | 一级全免费视频播放| 又爽又黄无遮挡高清免费视频| 在线观看亚洲视频| 亚洲国产精品成人一区| 大片免费观看92在线视频线视频| 亚洲AV无码乱码精品国产| 人妻仑乱A级毛片免费看| 亚洲中久无码永久在线观看同| 韩日电影在线播放免费版| 亚洲αv在线精品糸列| 亚洲精品在线免费观看视频| 亚洲一区二区三区久久| 日韩免费视频一区| 又黄又大的激情视频在线观看免费视频社区在线 | 亚洲黄色免费电影| 免费a级毛片无码a∨蜜芽试看| 亚洲人成网亚洲欧洲无码| 亚洲а∨天堂久久精品| 国产免费无码一区二区| 亚洲欧洲校园自拍都市| 国产美女精品久久久久久久免费| 一区二区视频免费观看| 亚洲黄色免费观看| 国产免费观看青青草原网站| a级毛片在线免费| 97久久国产亚洲精品超碰热| 免费a级黄色毛片| 免费女人高潮流视频在线观看| 亚洲成a人片在线观看天堂无码| 亚洲精品国产品国语在线| 国产成人免费爽爽爽视频| 中文字幕在线成人免费看|