一、使用svn很長時間,可是一直使用都沒有去梳理過svn是什麼,怎麼樣使用,只會簡單的svn 添加文件,刪除文件,co,ci,upjavascript
如今簡單的整理一下php
使用svn的模式有兩種java
一、Lock-Modify-Unlock編輯器
加鎖-修改-解鎖 別人在修改svn
這種方式很顯然不適合團隊協做工具
二、Copy-Modify-Mergepost
從庫中拷貝一份,本身修改,而後合併,每次拷貝一份就至關於本身有一個獨立的working copythis
說下svn 的經常使用命令:url
一、命令不少,經常使用的頁就那麼幾個日誌
二、
svn add 把本地添加的文件歸入svn管理目錄下
svn co 拷貝一個working ,就是把代碼弄到本地
svn revert 撤銷本地的修改
svn up 從庫中更新與本地不同的,當兩我的在同一個分支上開發的時候,ci以前須要up一下
svn ci -m "svn log...." 把代碼提交到庫中
svn log svn日誌
svn export 相似於svn co 可是svn export不帶任何的版本信息
svn resolved path(aa/aa.php) 當出現衝突的時候,改完戳圖以後執行此命令
三、當up或者ci的時候代碼有可能會出現衝突
出現衝突會出現提示信息
sd show diff 展現diff信息
tc their conflict
mc their conflict
postpone 稍後解決衝突
edit 編輯衝突文件
通常狀況下選擇postpone而後找相應人員一塊兒解決衝突
好比說衝突文件爲aa.js
在這個文件下會有aa.js.rxx,aa.js.rxxx.aa.js.mine
用編輯器打開aa.js 會看到
<<<<<<<.mine
這中間都是你的代碼
============
別人的代碼,就是這些代碼衝突了
>>>>>>>>>>>>.rxxx
<<<<<<< .mine var aa= $(this).tbattr('downnowurl'); console.log(aa); $('.j_down_now').bind('click',function () { var downNowUrl = $(this).tbattr('downnowurl'); ======= $('.j_down_now').bind('click', function(){ var downNowUrl = $.unescapeHTML($(this).tbattr('downnowurl'));//爲什麼不經過js傳遞? >>>>>>> .r398463
解決衝突以後,在執行resolved命令而後ci就ok了
svn resolved path/xxx/aa.js
四、固然用3的方式是能夠解決衝突,不過太麻煩和容易出錯了
通常用SVN提交衝突的時候會給出幾個選項,其中p表明推遲,tc表明衝突解決方式是已最新的爲準,mc已我本地爲準
通常會選擇p,這時候本地回多幾個問題件,right-version....,left.....,working,等源文件中帶有<<<<<< =====這些衝突信息,解決方式是咱們選擇compare工具比對right和left,已right爲準,合併完衝突以後,刪除working 源文件和left文件,而且修改right文件的後綴名