SVN個人小結(jié)

之前版本控制用的是Git,然后新項目的開展,用的是SVN。這使得對SVN八竅通了七竅的我很難不舒服。同事告訴我了一些在webstorm上面的基本用法,但是用命令行習慣的我,覺得還是用命令行比較習慣。終于我決定學習一下SVN的用法。
其實,SVN在一定程度上面和Git還是很相似的,一些merge,commit,等等的基本用法還是相通的,不一樣的可能就是SVN沒有push以及pull的操作。
1.首先,我們先來一些SVN的基本用法:

# 萬能方法
    svn help
# 查看當前更改的文件
    svn status(st) 
# 將文件從遠程倉庫拷貝到本地的工作目錄
    svn checkout(co) 你需要copy的遠程倉庫地址
# 往版本庫中添加新的文件
    svn add file
# 提交代碼
    svn commit(ci) -m"your comments"  文件名
# 更新代碼
    svn update(up) 更新的文件或者文件目錄 如果不寫,默認將當前目錄更新到最新狀態(tài)
# 查看本項目的信息
    svn info
# 查看指定文件的信息
    svn info filename
# 查看本項目的日志
    svn log
# 查看指定文件的日志
    svn log filename
# 查看分支的從哪個版本來的
svn log --verbose --stop-on-copy | tail -10
   M /tags/version3.3.0(0417)/www/js/app.config.js
app.config.js 添加 年月日字段: APP_UPDATEVERSION
------------------------------------------------------------------------
r1034 | XXX | 2018-04-17 11:15:26 +0800 (二, 17  4 2018) | 1 line
Changed paths:
   A /tags/version3.3.0(0417) (from /trunk:1033)
------------------------------------------------------------------------
# 比較差異
    svn diff(di) path(將修改的文件與基礎(chǔ)版本比較)
    svn diff -r m:n path(對版本m和版本n比較差異)
image.png

使用svn update在開始工作時和提交之前先做一次更新是一個良好的習慣。
假如在我們修改工作目錄的同時,有人也更新了同樣的文件并已經(jīng)提交到遠程倉庫,那我們在更新時有可能就會遇到?jīng)_突(conflict)。
可以設(shè)定’accept’參數(shù),指定’working’, ‘base’,

    (p) postpone: 暫時推后處理
    (df) diff-full:       把所有的修改列出來,比比看
    (e) edit:           直接編輯沖突的文件
    (mc) mine-conflict:    用你的修改
    (tc) theirs-conflict:   用別人的修改
    (s) show all options:  顯示其他可用的命令

我們可以選擇以上命令中的任何一個在解決沖突,一般選擇p的話,后續(xù)要用svn resolve標識已解決沖突的文件。


2.分支以及標簽的管理:

# 創(chuàng)建分支:
    svn copy(cp) trunkUrl branchesUrl -m"create branches"
# 刪除分支:
    svn delete(rm/remove) branchesUrl -m "delete branches "
# 創(chuàng)建tag:
    svn copy(cp) trunkUrl tagUrl -m"create tag"
# 刪除tag:
    svn delete(rm/remove) tagUrl -m "delete tag"
# 分支合并到主干 注意:此時需要在trunk下進行
    svn merge -r 1069(分支創(chuàng)建時的版本):1092(分支現(xiàn)在的版本) branchesUrl
# 查看當前Branch中已經(jīng)有那些改動已經(jīng)被合并到Trunk中
    svn mergeinfo svn://branch/path
# 查看Branch中那些改動還未合并
    svn mergeinfo branchesUrl --show-revs eligible
# 主干合并到分支 注意:此時需要在分支下進行
    svn merge -r 1069(分支創(chuàng)建時的版本):25(trunk現(xiàn)在的版本) trunkUrl
# 切換分支
    svn switch (sw) 要切換的地址

剛開始用命令行的SVN操作來管理版本,這些只是基礎(chǔ)操作,以后,用到的會及時更新。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容