天天看點

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

1 svn管理   

    1.1 建立版本庫   

   1.2 同步代碼   

   1.3 送出代碼   

   1.4 拉分支   

   1.5 合并分支   

   1.6 删除分支   

   1.7 版本回退   

2 git管理   

   2.1 建立版本庫   

   2.2 同步代碼   

   2.3 送出代碼   

   2.4 拉分支   

   2.5 合并分支   

   2.6 删除分支   

   2.7 版本回退   

3 送出記錄與處理原則   

1 svn管理

1.1建立版本庫

ssh登入到svn伺服器,執行指令建立test版本庫

svnadmin create test

然後在svn伺服器上将權限配置好

conf/passwd 裡增加相應的使用者名 賬号

conf/svnserve.conf 裡修改成

anon-access = none # 使非授權使用者無法通路

auth-access = write # 使授權使用者有寫權限

password-db = password

1.2同步代碼

客戶機安裝tortoisesvn,然後在目标檔案夾建立一個外層檔案夾,進入檔案夾裡右鍵->svn checkout...,輸入版本庫位址svn://192.168.0.248/test

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

然後建立檔案夾test1,這個檔案夾才是我們真正的代碼目錄。傳回checkout對話框,修正URL of repository和checkout directory,點選OK,同步完成。

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

以後通過右鍵->svn update更新代碼

1.3送出代碼

代碼修改完後,在test1檔案夾上右鍵單擊,選擇svn commit...,然後輸入送出日志,點選OK,送出完成。

1.4拉分支

Test1目錄上右鍵

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則
開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

點選OK,test1_4.0.1分支建立成功。然後在test目錄上同步新建立的這個分支。

1.5合并分支

将test1_4.0.1合并到test1,在test1上右擊,選擇TortoiseSVN...->merge->Next->Next->

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

Next->Merge,代碼僅僅是合并到了本地目錄test1,若有沖突,需要手工處理沖突,然後送出到svn伺服器。分支合并完成。

1.6删除分支

TortoiseSVN... ->Repo-Browser->

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

1.7版本回退

1.7.1回退本地為送出的修改

TortoiseSVN... ->Revert...

1.7.2回退已送出的修改

TortoiseSVN... ->Show log,在log清單裡需要回退到的版本上右擊,選Revert to this revision,代碼回退到了這個版本,這個僅僅是代碼修改,(若此時最新log是commit4),送出代碼後會生成一個新的送出commit5。原來的log全部存在。

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

2 git管理

2.1建立版本庫

首先建立server上的git倉庫

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

然後需要在server機上為客戶機授權。

客戶機安裝git用戶端,啟動

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

建立秘鑰

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

然後将id_rsa.pub發給server管理者授權。

server上授權,就是将id_rsa.pub裡的内容添加到server上git使用者的home/.ssh/authorized_keys檔案裡。

2.2同步代碼

客戶機上進入自己想要同步遠端庫的目錄,此處以D盤根目錄為例,

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

此時,同步完成。以後同步用指令git pull

2.3送出代碼

Git add

Git commit -m “log”

Git push origin master  //首次push時使用,origin是遠端倉庫,master是本地分支。

檢視本地分支用git branch,檢視遠端分支用git branch -r,檢視遠端倉庫詳情git remote -v

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

2.4拉分支

Git checkout -b dev_2  //建立分支dev_2,并切換到這個分支上

Git push origin dev_2  //将本地分支dev_2推送到伺服器倉庫origin

其它人同步

Git pull後,可以直接切換分支git checkout dev_2

2.5合并分支

git merge dev //将dev分支合并到目前分支

這個合并行為發生在本地,完成後需要push到git遠端伺服器

2.6删除分支

Git branch -r -d origin/dev_2  //删除遠端分支dev_2

git branch -d dev_2  //删除本地分支dev_2

2.7版本回退

Git reset --hard

Git reset --hard HEAD^  //回退最近一次送出

Git reset --hard HEAD~2  //回退最近兩次送出

git reset --hard log_id  //回退到log_id對應的送出

3 送出記錄與處理原則

如下是主幹分支典型的送出日志

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則

如下是分支間協同工作圖

開發中常用的版本管理操作(svn和git)1 svn管理2 git管理3 送出記錄與處理原則