關於源碼管理工具的學習與總結:
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圖形化界面)。