導航:首頁 > 程序命令 > svn命令更新覆蓋

svn命令更新覆蓋

發布時間:2022-08-11 07:18:30

㈠ 如何在MAC環境下使用svn,以及新手在團隊使用svn注意事項

在Windows環境中,我們一般使用TortoiseSVN來搭建svn環境。在Mac環境下,由於Mac自帶了svn的伺服器端和客戶端功能,所以我們可以在不裝任何第三方軟體的前提下使用svn功能,不過還需做一下簡單的配置。
我們首先來看下,如何在Mac環境下搭建svn伺服器端環境。
創建代碼倉庫,用來存儲客戶端所上傳的代碼
我先在/User/apple目錄下新建一個svn目錄,以後可以在svn目錄下創建多個倉庫目錄

打開終端,創建一個mycode倉庫,輸入指令:svnadmin create /Users/apple/svn/mycode
指令執行成功後,會發現硬碟上多了個/Users/apple/svn/mycode目錄,目錄結構如下:

配置svn的用戶許可權
主要是修改/svn/mycode/conf目錄下的三個文件
1.打開svnserve.conf,將下列配置項前面的#和空格都去掉

[java] view plain
# anon-access = read
# auth-access = write

# password-db = passwd

# authz-db = authz
anon-access = read代表匿名訪問的時候是只讀的,若改為anon-access = none代表禁止匿名訪問,需要帳號密碼才能訪問

2.打開passwd,在[users]下面添加帳號和密碼,比如:
[java] view plain
[users]
mj = 123
jj = 456

帳號是mj,密碼是123

3.打開authz,配置用戶組和許可權
我們可以將在passwd里添加的用戶分配到不同的用戶組里,以後的話,就可以對不同用戶組設置不同的許可權,沒有必要對每個用戶進行單獨設置許可權。
在[groups]下面添加組名和用戶名,多個用戶之間用逗號(,)隔開
[java] view plain
[groups]
topgroup=mj,jj

說明mj和jj都是屬於topgroup這個組的,接下來再進行許可權配置。
使用[/]代表svn伺服器中的所有資源庫
[java] view plain
[/]
@topgroup = rw

上面的配置說明topgroup這個組中的所有用戶對所有資源庫都有讀寫(rw)許可權,組名前面要用@
如果是用戶名,不用加@,比如mj這個用戶有讀寫許可權
[java] view plain
[/]
mj = rw

至於其他精細的許可權控制,可以參考authz文件中的其他內容

4.啟動svn伺服器
前面配置了這么多,最關鍵還是看能否正常啟動伺服器,若啟動不來,前面做再多工作也是徒勞。
在終端輸入下列指令:svnserve -d -r /Users/apple/svn
或者輸入:svnserve -d -r /Users/apple/svn/mycode
沒有任何提示就說明啟動成功了

5.關閉svn伺服器
如果你想要關閉svn伺服器,最有效的辦法是打開實用工具裡面的「活動監視器」

綜合上述,我們就可以輕松搭建svn伺服器環境了

㈡ windows 怎麼用svn命令

1、Windows下命令行工具:

發現原來安裝的tortoisesvn已經集成到shell中,不能在命令行下使用。

下載Apache Subversion command line tools,這是一個可以在cmd下使用的命令行工具,解壓後把裡面bin目錄這個路徑添加到環境變數的path,這樣在cmd下就可以使用了,和linux下使用svn的習慣一樣了。

目錄約定:

㈢ svn的更新命令,是什麽意思

就是把你本地的跟伺服器上的對比 把最新的下到你本地~
如果你本地有改動 那個文件將不更新~ 只有跟伺服器上一樣的(也就是對勾圖形的) 才更新~

㈣ 如何使svn update命令自動用伺服器上的版本替換本地同名的但尚未加入版本控制的文件

這個技術上好像很難實現,我原本想用鉤子實現,但發現svn的鉤子里沒有pre-update的鉤子

或者可以換個思路,為什麼一定要自動覆蓋呢?這是一種存在風險的操作啊,如果本地新建的文件是含有有效工作成果的,將導致這些工作成果的丟失。我們是否可以從操作流程的角度來改進呢?正常的操作就應該是:更新--更新失敗--解決沖突--重新更新(或提交)

㈤ SVN-svn update 略過某個子目錄的更新 怎麼弄

只需要運行以下命令將tags以及branches目錄排除在svn up列表:

# svn update --set-depth=exclude tags branchesD tagsD branches

選項後面可以跟多個目錄,這樣,就在你當前的working 中成功的將tags和branches目錄排除掉了,在你下一次的update中,就不會去理會這兩個目錄了,但同時有保證了你的project是在version control下的,因此不需要每次都逐個進入目錄進行svn up了。

㈥ svn 命令行怎麼解決沖突

解決版本沖突的命令。在沖突解決之後,需要使用svn resolved來告訴subversion沖突解決,這樣才能提交更新。沖突發生時,subversion會在Work Copy中保存所有的目標文件版本(上次更新版本、當前獲取的版本,即別人提交的版本、自己更新的版本、目標文件。假設文件名是sandwich.txt,對應的文件名分別是:sandwich.txt.r1、
sandwich.txt.r2、sandwich.txt.mine、sandwich.txt)。同時在目標文件中標記來自不同用戶的更改。
解決沖突的辦法:
- 手動解決:沖突發生時,通過和其他用戶溝通之後,手動更新目標文件。然後執行svn resolved filename來解除沖突,最後提交。
- 放棄自己的更新,使用別人的更新。使用最新獲取的版本覆蓋目標文件,執行svn resolved filename並提交。
- 放棄自己的更新,使用svn revert,然後提交。在這種方式下不需要使用svn resolved。
對於svn resolved命令需要非常小心,必須是非常確定沖突已經解決才能使用。否則,會導致Subversion以為沖突解決,而使代碼庫不正確。 解決沖突詳細文檔:
http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve 解決沖突(合並別人的修改)
我們可以使用svn status -u來預測沖突,當你運行svn update一些有趣的事情發生了:
$ svn update U INSTALL G README C bar.c
Updated to revision 46.
U和G沒必要關心,文件干凈的接受了版本庫的變化,文件標示為U表明本地沒有修改,文件已經根據版本庫更新。G標示合並,標示本地已經修改過,與版本庫沒有重迭的地方,已經合並。
但是C表示沖突,說明伺服器上的改動同你的改動沖突了,你需要自己手工去解決。 當沖突發生了,有三件事可以幫助你注意到這種情況和解決問題: ● Subversion列印C標記,並且標記這個文件已沖突。
● 如果Subversion認為這個文件是可合並的,它會置入沖突標記—特殊的橫線分開沖突的「兩面」—在文件里可視化的描述重疊的部分(Subversion使用svn:mime-type屬性來決定一個文件是否可以使用上下文的,以行為基礎合並,更多信息可以看「svn:mime-type」一節)。
● 對於每一個沖突的文件,Subversion放置三個額外的未版本化文件到你的工作拷貝:
● filename.mine
● 你更新前的文件,沒有沖突標志,只是你最新更改的內容。(如果Subversion認為這個文件不可以合並,.mine文件不會創建,因為它和工作文件相同。) ● filename.rOLDREV

㈦ 如何在mac使用終端更新svn

mac 終端 svn 命令
1、將文件checkout到本地目錄
svn checkout path(path是伺服器上的目錄)
例如:svn checkout svn://192.168.1.1/pro/domain
簡寫:svn co
2、往版本庫中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加當前目錄下所有的php文件)
3、將改動的文件提交到版本庫
svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用--no-unlock開關)
例如:svn commit -m "add test file for my test" test.php
簡寫:svn ci
4、加鎖/解鎖
svn lock -m "LockMessage" [--force] PATH
例如:svn lock -m "lock test file" test.php
svn unlock PATH
5、更新到某個版本
svn update -r m path
例如:
svn update如果後面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本。
svn update -r 200 test.php(將版本庫中的文件test.php還原到版本200)
svn update test.php(更新,於版本庫同步。如果在提交的時候提示過期的話,是因為沖突,需要先update,修改文件,然後清除svn resolved,最後再提交commit)
簡寫:svn up
6、查看文件或者目錄狀態
1)svn status path(目錄下的文件和子目錄的狀態,正常狀態不顯示)
【?:不在svn的控制中;M:內容被修改;C:發生沖突;A:預定加入到版本庫;K:被鎖定】
2)svn status -v path(顯示文件和子目錄狀態)
第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。
註:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
簡寫:svn st
7、刪除文件
svn delete path -m "delete test fle"
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"
或者直接svn delete test.php 然後再svn ci -m 'delete test file『,推薦使用這種
簡寫:svn (del, remove, rm)
8、查看日誌
svn log path
例如:svn log test.php 顯示這個文件的所有修改記錄,及其版本號的變化
9、查看文件詳細信息
svn info path
例如:svn info test.php
10、比較差異
svn diff path(將修改的文件與基礎版本比較)
例如:svn diff test.php
svn diff -r m:n path(對版本m和版本n比較差異)
例如:svn diff -r 200:201 test.php
簡寫:svn di
11、將兩個版本之間的差異合並到當前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合並到當前文件,但是一般都會產生沖突,需要處理一下)
12、SVN 幫助
svn help
svn help ci
------------------------------------------------------------------------------
以上是常用命令,下面寫幾個不經常用的
------------------------------------------------------------------------------
13、版本庫下的文件和目錄列表
svn list path
顯示path目錄下的所有屬於版本庫的文件和目錄
簡寫:svn ls
14、創建納入版本控制下的新目錄
svn mkdir: 創建納入版本控制下的新目錄。
用法: 1、mkdir PATH...
2、mkdir URL...
創建版本控制的目錄。
1、每一個以工作副本 PATH 指定的目錄,都會創建在本地端,並且加入新增
調度,以待下一次的提交。
2、每個以URL指定的目錄,都會透過立即提交於倉庫中創建。
在這兩個情況下,所有的中間目錄都必須事先存在。
15、恢復本地修改
svn revert: 恢復原始未改變的工作副本文件 (恢復大部份的本地修改)。revert:
用法: revert PATH...
注意: 本子命令不會存取網路,並且會解除沖突的狀況。但是它不會恢復
被刪除的目錄
16、代碼庫URL變更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch --relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一個新的URL,其行為跟「svn update」很像,也會將
伺服器上文件與本地文件合並。這是將工作副本對應到同一倉庫中某個分支或者標記的
方法。
2、改寫工作副本的URL元數據,以反映單純的URL上的改變。當倉庫的根URL變動
(比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用
這個命令更新工作副本與倉庫的對應關系。
17、解決沖突
svn resolved: 移除工作副本的目錄或文件的「沖突」狀態。
用法: resolved PATH...
注意: 本子命令不會依語法來解決沖突或是移除沖突標記;它只是移除沖突的
相關文件,然後讓 PATH 可以再次提交。
18、輸出指定文件或URL的內容。
svn cat 目標[@版本]...如果指定了版本,將從指定的版本開始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以寫具體版本號,這樣輸出結果是可以提交的)

㈧ svn的更新命令

Fully recursinve 檢出內容包括:選中路徑下的所有內容
Immediate children,including folders 檢出的內容包括:選中路徑的根目錄、二級目錄的文件和文件夾
Olny file children 檢出的內容包括:選中路徑的根目錄、二級目錄的文件
Olny this item 檢出的內容包括:選中路徑的根目錄

第一次checkout要用Fully recursinve 下載到全部內容~

㈨ 如何使用ant 調用svn 的更新命令 把一個文件更新到指定的版本

svn update -r 250 d:/ss/sss/sss (表示更新某個文件夾)到250版本
svn update -r 250 d:/ss/sss/sss/aa.c(表示更新aa.c文件)到250版本
前提:本機安裝了SVN伺服器 SVN的bin目錄加入了path環境變數(也就是說要支持svn命令)

閱讀全文

與svn命令更新覆蓋相關的資料

熱點內容
php取現在時間 瀏覽:246
單片機高吸收 瀏覽:427
怎麼區分五代頭是不是加密噴頭 瀏覽:244
hunt測試伺服器是什麼意思 瀏覽:510
2013程序員考試 瀏覽:641
畢業論文是pdf 瀏覽:736
伺服器跑網心雲劃算嗎 瀏覽:471
單片機定時器計數初值的計算公式 瀏覽:801
win7控制台命令 瀏覽:567
貓咪成年app怎麼升級 瀏覽:692
360有沒有加密軟體 瀏覽:315
清除cisco交換機配置命令 瀏覽:751
華為刪除交換機配置命令 瀏覽:473
shell打包命令 瀏覽:827
加密狗插上輸不了密碼 瀏覽:187
大學單片機相關科目 瀏覽:23
自己建了伺服器地址 瀏覽:698
命令按鈕的屬性設置 瀏覽:965
證券技術分析pdf 瀏覽:779
linux命令連接oracle 瀏覽:202