GIT和SVN之間的五個基本區別

來源:互聯網
上載者:User
文章目錄
  • GIT是分布式的,SVN不是:
  • GIT把內容按中繼資料方式儲存,而SVN是按檔案:
  • GIT分支和SVN的分支不同:

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

  那好,這就開始吧…

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

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

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

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

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

  2. GIT把內容按中繼資料方式儲存,而SVN是按檔案:

    所有的資源控制系統都是把檔案的元資訊隱藏在一個類似.svn,.cvs等的檔案夾裡。如果你把.git目錄的體積大小跟.svn比較,你會發現它 們差距很大。因為,.git目錄是處於你的機器上的一個複製版的版本庫,它擁有中心版本庫上所有的東西,例如標籤,分支,版本記錄等。

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

    分支在SVN中一點不特別,就是版本庫中的另外的一個目錄。如果你想知道是否合并了一個分支,你需要手工運行像這樣的命令/questions/964331/git-file-integrity

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.