<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Linux之svn常用命令詳解

Linux之svn常用命令詳解

作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò ) 收藏

1、簽出代碼

本文引用地址:http://dyxdggzs.com/article/201610/305664.htm

#svn co path

2、添加文件

#svn add xxx

將xxx文件或目錄添加到svn庫中。

3、刪除文件

#svn delete xxx

將xxx文件或目錄從svn庫中刪除

4、修改文件

#svn move xxx yyy

將xxx文件重命名為yyy,類(lèi)似于Linux的mv命令。

5、檢查修改

#svn status

檢查修改了哪些文件。

6、查看差異

#svn diff

列出修改的明細。

#svn diff -r 3

同具體的版本進(jìn)行diff

#svn diff -r 2:3

比較具體的兩個(gè)版本之間的diff

7、查看日志

#svn log

查看歷史日志信息。

8、撤銷(xiāo)修改

#svn revert xxx

撤銷(xiāo)修改,恢復到未改變的本地工作副本。

9、移除沖突

#svn resolved xxx

移除沖突,但并不解決沖突。

10、提交代碼

#svn ci -m message xxx

將xxx文件提交到svn庫。

12、更新版本

#svn update -r xxx path

將代碼更新到xxx版本,如果update后面什么都沒(méi)有,則將當前目錄更新到最新版本。

13、分支與合并

(1)創(chuàng )建分支

#svn copy trunk branches/xxx -m message

從trunk創(chuàng )建一個(gè)分支branch,這樣就可以checkout branch分支來(lái)開(kāi)發(fā)了。

需要注意的是:最好將branch與trunk放在同一層級,否則,容易引起混亂。

(2)分支合到主干

先用svn st查看branch分支沒(méi)有任何本地修改,即代碼都提交到svn了。

再checkout一份trunk代碼到本地,并切換cd到trunk目錄下,執行如下命令來(lái)將branch分支上的改動(dòng)merge到trunk:

#svn merge http://.../branches/xxx

如果出現merge沖突則進(jìn)行解決,如下查看沖突文件:

#svn st|grep ^C

解決沖突后,執行svn ci提交變動(dòng)到svn。

當然也可以merge指定branch上的某些版本合并到trunk:

#svn merge http://.../branches/xxx -r 150:HEAD

上面命令將branch中從版本150到當前版本的所有改動(dòng)都合并到trunk中。

合并完后,可以用如下命令來(lái)查看merge情況:

#svn mergeinfo http://.../branches/xxx

執行上面命令可以查看當前branch中有哪些改動(dòng)已經(jīng)合并到trunk中了。

#svn mergeinfo http://.../branches/xxx --show-revs eligible

執行上面命令可以查看branch中哪些改動(dòng)還未合并。

(3)主干合到分支

主干合并到分支的過(guò)程同上,具體如下:

#svn co http://.../branches/xxx

#svn merge http://.../trunk -r 150:160

#svn st|grep ^C

#svn ci -m merge trunk to branch

#svn mergeinfo http://.../trunk

#svn mergeinfo http://.../trunk --show-revs eligible

14、版本回退

將代碼回退到某一個(gè)版本的方法有2種:

(1)svn merge

#svn up

先將本地代碼update到最新版本,比如:20。

#svn log

查看歷史版本,找出要恢復的版本,比如:10(svn版本號在查看的時(shí)候會(huì )是rxxx,但用的時(shí)候要去掉r)。

#svn diff -r 10:20 代碼目錄

如果有必要的話(huà),可以用上面命令來(lái)查看待恢復版本與當前版本的差異。

#svn merge -r 20:10 代碼目錄

回滾版本即反向合并,注意上面版本號之間的順序,上面命令將版本r20回退到r10。

如果需要從當前最新版本回退到xxx版本,還可以如下:

#svn merge -r rHEAD:xxx http://.../trunk

上面的地址是待回退分支,操作完成后,本地的working copy會(huì )更新為trunk的xxx版本的代碼。

#svn diff -r 10 xxx.cpp

如果必要可以用如上命令來(lái)查看回退后文件差異,如果有則手動(dòng)修改之。

#svn ci -m roll back to r10 代碼目錄

如果沒(méi)有差異,則需要將代碼提交到svn,否則回滾不會(huì )生效,提交后會(huì )在svn庫中生成新的版本號,比如這里會(huì )是:r20。

(2)svn up

還可以如下來(lái)回退版本:

#svn up

#svn up -r 10

#svn ci -m roll back to r10 代碼目錄

15、創(chuàng )建tags

#svn mkdir tags

#svn copy trunk/ tags/project_1.0.0

執行上面命令將備份版本copy到tags。

#svn ci -m add project_1.0.0 to tags



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>