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
然後建立檔案夾test1,這個檔案夾才是我們真正的代碼目錄。傳回checkout對話框,修正URL of repository和checkout directory,點選OK,同步完成。
以後通過右鍵->svn update更新代碼
1.3送出代碼
代碼修改完後,在test1檔案夾上右鍵單擊,選擇svn commit...,然後輸入送出日志,點選OK,送出完成。
1.4拉分支
Test1目錄上右鍵
點選OK,test1_4.0.1分支建立成功。然後在test目錄上同步新建立的這個分支。
1.5合并分支
将test1_4.0.1合并到test1,在test1上右擊,選擇TortoiseSVN...->merge->Next->Next->
Next->Merge,代碼僅僅是合并到了本地目錄test1,若有沖突,需要手工處理沖突,然後送出到svn伺服器。分支合并完成。
1.6删除分支
TortoiseSVN... ->Repo-Browser->
1.7版本回退
1.7.1回退本地為送出的修改
TortoiseSVN... ->Revert...
1.7.2回退已送出的修改
TortoiseSVN... ->Show log,在log清單裡需要回退到的版本上右擊,選Revert to this revision,代碼回退到了這個版本,這個僅僅是代碼修改,(若此時最新log是commit4),送出代碼後會生成一個新的送出commit5。原來的log全部存在。
2 git管理
2.1建立版本庫
首先建立server上的git倉庫
然後需要在server機上為客戶機授權。
客戶機安裝git用戶端,啟動
建立秘鑰
然後将id_rsa.pub發給server管理者授權。
server上授權,就是将id_rsa.pub裡的内容添加到server上git使用者的home/.ssh/authorized_keys檔案裡。
2.2同步代碼
客戶機上進入自己想要同步遠端庫的目錄,此處以D盤根目錄為例,
此時,同步完成。以後同步用指令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
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 送出記錄與處理原則
如下是主幹分支典型的送出日志
如下是分支間協同工作圖