svn和git區別,以及git常用命令

關於源碼管理工具的學習與總結:


SVN又叫做集中式版本控制器。嚴重的依賴服務器端,當服務器端無法使用的時候,版本控制也就無


法再使用:代表TortoiseSVN(windows)cornerstone(mac)  開發中結合BeyondCompare(文件對比工具)


更能提高效率.


Git是目前世界上最先進的分佈式版本控制系統(沒有之一)。當這個系統的任何一個客戶端出現問


題的時候,都可以從另外的客戶端(即使服務器掛了)獲取所有的代碼。代表gitHub,gitLab 圖形化界


面:sourceTree

下圖說明集中式版本控制器和分佈式版本控制系統:



svn和git的區別:

1.git是分佈式的,svn是集中式的

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

所有的資源控制系統都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾裏。如果你把.git目錄的體積大小

跟.svn比較,你會發現它們差距很大。因爲,.git目錄是處於你的機

器上的一個克隆版的版本庫,它擁有中心版本庫上所有的東西,例如標籤,分支,版本記錄等。

3. git分支和svn的分支不同:

  git可以從同一個工作目錄下快速的在幾個分支間切

   svn中分支就是版本庫中的另外的一個目錄。

 git可以從同一個工作目錄下快速的在幾個分支間切換

4. git沒有一個全局的版本號,而svn有:

5. git的內容完整性要優於svn:

 git的內容存儲使用的是SHA-1哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。

6.git下載下來後,在本地不必聯網就可以看到所有的log,很方便學習,SVN卻需要聯網;


下圖說明開發中git的工作流程:



常用git命令總結:

1.git add . 將文件提交到暫存區

2.git commit –m ‘’ 將文件暫存區提交到版本區

3.git push  <遠程主機名稱> <本地分支名稱> 將暫存區分支推送到遠程

4.git commit –a –m ‘’ 直接將文件提交到版本區

5.git checkout 分支名稱  切換分支

6.git fetch origin 分支名稱   從遠程獲取最新版本到本地,不會自動merge
   git pull  origin 分支名稱   從遠程獲取最新版本到本地,自動merge

7.git status 查看分支狀態    git log 查看歷史提交

8.git--help  查看幫助

9. git checkout -- readme.txt 將文件從暫存區回退到工作區或暫存區

10 .git reset HEAD^ 從版本去回退到工作區 git可以從同一個工作目錄下快速的在幾個分支間切換

11.touch.gitignore  創建忽略文件

12.git merge 分支  合併分支

13.git log 查看歷史提交記錄

14.git branch -a 查看所有分支


最後總結下自己合併代碼的方式:IDE型編輯器,自帶集成的合併方式,以及gitLab上遞交合並請求的方式,sourceTree(git圖形化界面)。
推薦教程:廖雪峯個人官網 看完之後,git基本操作就差不多都會了。


發佈了10 篇原創文章 · 獲贊 14 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章