導航:首頁 > 程序命令 > svn合並命令

svn合並命令

發布時間:2022-03-13 20:46:06

『壹』 如何用命令行實現TortoiseSVN命令

TortoiseSVN是一個GUI客戶端,這個自動化指導為你展示了讓TortoiseSVN對話框顯示並收集客戶輸入,如果你希望編寫不需要輸入的腳本,你應該使用官方的Subversion命令行客戶端。
TortoiseSVN的GUI程序叫做TortoiseProc.exe。所有的命令通過參數/command:asdf指定,其中asdf是必須的命令名(命令名詳見」表 1. 有效命令及選項列表「)。大多數此類命令至少需要一個路徑參數,使用/path:"some\path"指定。在下面的命令表格中,命令引用的是/command:asdf參數,餘下的代表了/path:"some\path"參數。
因為一些命令需要一個目標路徑的列表(例如提交一些特定的文件),/path參數可以接收多個路徑,使用*分割。
TortoiseSVN 使用臨時文件在 shell 擴展和主程序之間傳遞多個參數。從 TortoiseSVN 1.5.0 開始,廢棄/notempfile參數,不再需要增加此參數。
The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses theOK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.
To specify a different location of the configuration file, use the parameter /configdir:"path\to\config\directory". This will override the default path, including any registry setting.
如果想在進度對話框執行完畢後自動關閉,而又不必設置永久性的參數,可以傳遞/closeonend參數。
/closeonend:0 不自動關閉對話框
/closeonend:1 如果沒發生錯誤則自動關閉對話框
/closeonend:2 如果沒發生錯誤和沖突則自動關閉對話框
/closeonend:3如果沒有錯誤、沖突和合並,會自動關閉
下面的列表列出了所有可以使用TortoiseProc.exe訪問的命令,就像上面的描述,必須使用/command:asdf的形式,在列表中,因為節省空間的關系省略了/command的前綴。

表 1. 有效命令及選項列表

命令
描述

:about 顯示關於對話框。如果沒有給命令也會顯示。
:log 打開日誌對話框,/path 指定了顯示日誌的文件或目錄,另外還有三個選項可以設置: /startrev:xxx、/endrev:xxx和/strict
:checkout 打開檢出對話框,/path指定了目標路徑,而/url制定了檢出的URL。
:import 打開導入對話框,/path 指定了數據導入路徑。
:update 將工作副本的/path更新到HEAD,如果給定參數/rev,就會彈出一個對話框詢問用戶需要更新到哪個修訂版本。為了防止指定修訂版本號/rev:1234的對話框,需要選項/nonrecursive和/ignoreexternals。
:commit 打開提交對話框,/path 指定了目標路徑或需要提交的文件列表,你也可以使用參數 /logmsg 給提交窗口傳遞預定義的日誌信息,或者你不希望將日誌傳遞給命令行,你也可以使用/logmsgfile:path,path 指向了保存日誌信息的文件。為了預先填入bug的ID(如果你設置了集成bug追蹤屬性),你可以使用/bugid:"the bug id here"完成這個任務。
:add 將/path的文件添加到版本控制 。
:revert 恢復工作副本的本地修改,/path說明恢復哪些條目。
:cleanup 清理中斷和終止的操作,將工作副本的/path解鎖。
:resolve 將/path指定文件的沖突標示為解決,如果給定/noquestion,解決不會向用戶確認操作。
:repocreate 在/path創建一個版本庫。
:switch 打開選項對話框。/path 指定目標目錄。
:export 將/path的工作副本導出到另一個目錄,如果/path指向另一個未版本控制目錄,對話框會詢問要導出到/path的URL。
:merge Opens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. These pre-fill the relevant fields in the merge dialog.
:mergeall Opens the merge all dialog. The /path specifies the target directory.
: Brings up the branch/tag dialog. The /path is the working to branch/tag from. And the /url is the target URL. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.
:settings 打開設置對話框。
:remove 從版本控制里移除/path中的文件。
:rename 重命名/path的文件,會在對話框中詢問新文件,為了防止一個步驟中詢問相似文件,傳遞/noquestion。
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx. If/blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions.
:showcompare
Depending on the URLs and revisions to compare, this either shows a unified diff (if the option unified is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files.
The options url1, url2, revision1 and revision2 must be specified. The options pegrevision, ignoreancestry, blame and unified are optional.

:conflicteditor Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.
:relocate 打開重定位對話框,/path指定了重定位的工作副本路徑。
:help 打開幫助文件
:repostatus 打開為修改檢出對話框,/path 指定了工作副本目錄。
:repobrowser Starts the repository browser dialog, pointing to the URL of the working given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD. If /path points to an URL, the /projectpropertiespath:path/to/wcspecifies the path from where to read and use the project properties.
:ignore 將/path中的對象加入到忽略列表,也就是將這些文件添加到 svn:ignore 屬性。
:blame
為 /path 選項指定的文件打開追溯對話框。
如果設置了 /startrev 和 /endrev 選項,不會顯示詢問追溯范圍對話框,直接使用這些選項中的版本號。
如果設置了 /line:nnn 選項,TortoiseBlame 會顯示指定行數。
也支持 /ignoreeol,/ignorespaces 和 /ignoreallspaces 選項。

:cat 將/path指定的工作副本或URL的文件保存到/savepath:path,修訂版本號在/revision:xxx,這樣可以得到特定修訂版本的文件。
:createpatch 創建/path下的補丁文件。
:revisiongraph 顯示/path目錄下的版本變化圖。
:lock Locks a file or all files in a directory given in /path. The 'lock' dialog is shown so the user can enter a comment for the lock.
:unlock Unlocks a file or all files in a directory given in /path.
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass /noquestion.
:properties 顯示 /path 給出的路徑之屬性對話框。

Examples (which should be entered on one line):
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0

TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0

TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0

『貳』 SVN常用命令及例句

1、linux命令行下將文件checkout到本地目錄

svn checkout path(path是伺服器上的目錄)

例如:svn checkout svn://192.168.1.1/pro/domain

簡寫:svn co

2、Linux命令行下往版本庫中添加新的文件

svn add file

例如:svn add test.php(添加test.php)

svn add *.php(添加當前目錄下所有的php文件)

3、Linux命令行下將改動的文件提交到版本庫

svn commit -m 「LogMessage「 [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)

例如:svn commit -m 「add test file for my test「 test.php

簡寫:svn ci

4、Linux命令行下的加鎖/解鎖

svn lock -m 「LockMessage「 [--force] PATH

例如:svn lock -m 「lock test file「 test.php

svn unlock PATH

5、Linux命令行下更新到某個版本

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、Linux命令行下查看文件或者目錄狀態

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、Linux命令行下刪除文件

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、Linux命令行下查看日誌

svn log path

例如:svn log test.php 顯示這個文件的所有修改記錄,及其版本號的變化

9、Linux命令行下查看文件詳細信息

svn info path

例如:svn info test.php

10、Linux命令行下比較差異

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、Linux命令行下將兩個版本之間的差異合並到當前文件

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合並到當前文件,但是一般都會產生沖突,需要處理一下)

12、Linux命令行下SVN 幫助

svn help

svn help ci

以上是常用命令,下面寫幾個不經常用的

13、Linux命令行下版本庫下的文件和目錄列表

svn list path

顯示path目錄下的所有屬於版本庫的文件和目錄

簡寫:svn ls

14、Linux命令行下創建納入版本控制下的新目錄

svn mkdir: 創建納入版本控制下的新目錄。

用法: 1、mkdir PATH…

2、mkdir URL…

創建版本控制的目錄。

1、每一個以工作副本 PATH 指定的目錄,都會創建在本地端,並且加入新增調度,以待下一次的提交。

2、每個以URL指定的目錄,都會透過立即提交於倉庫中創建.在這兩個情況下,所有的中間目錄都必須事先存在。

15、Linux命令行下恢復本地修改

svn revert: 恢復原始未改變的工作副本文件 (恢復大部份的本地修改)。revert:

用法: revert PATH…

注意: 本子命令不會存取網路,並且會解除沖突的狀況。但是它不會恢復被刪除的目錄

16、Linux命令行下代碼庫URL變更

svn switch (sw): 更新工作副本至不同的URL。

用法: 1、switch URL [PATH]

2、switch –relocate FROM TO [PATH...]

1、更新你的工作副本,映射到一個新的URL,其行為跟「svn update」很像,也會將伺服器上文件與本地文件合並。這是將工作副本對應到同一倉庫中某個分支或者標記的方法。

2、改寫工作副本的URL元數據,以反映單純的URL上的改變。當倉庫的根URL變動(比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用這個命令更新工作副本與倉庫的對應關系。

17、Linux命令行下解決沖突

svn resolved: 移除工作副本的目錄或文件的「沖突」狀態。

用法: resolved PATH…

注意: 本子命令不會依語法來解決沖突或是移除沖突標記;它只是移除沖突的相關文件,然後讓 PATH 可以再次提交。

18、Linux命令行下輸出指定文件或URL的內容。

svn cat 目標[@版本]…如果指定了版本,將從指定的版本開始查找。

svn cat -r PREV filename > filename (PREV 是上一版本,也可以寫具體版本號,這樣輸出結果是可以提交的)

以上是Linux命令行下常用svn命令的使用方法。

『叄』 svn的常用命令有哪些

1、將文件checkout到本地目錄
svn checkout path(path是伺服器上的目錄)
簡寫:svn co

2、往版本庫中添加新的文件
svn add file

3、將改動的文件提交到版本庫
svn commit -m 「LogMessage」 [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)
簡寫:svn ci

4、加鎖/解鎖
svn lock -m 「LockMessage」 [--force] PATH
svn unlock PATH

5、更新到某個版本
svn update -r m path
簡寫:svn up

6、查看文件或者目錄狀態
1)svn status path(目錄下的文件和子目錄的狀態,正常狀態不顯示)
2)svn status -v path(顯示文件和子目錄狀態)
簡寫:svn st

7、刪除文件
svn delete path -m 「delete test fle」
簡寫:svn (del, remove, rm)

8、查看日誌
svn log path

9、查看文件詳細信息
svn info path

10、比較差異
svn diff path(將修改的文件與基礎版本比較)
svn diff -r m:n path(對版本m和版本n比較差異)
簡寫:svn di

11、將兩個版本之間的差異合並到當前文件
svn merge -r m:n path

12、SVN 幫助
svn help
svn help ci

『肆』 SVN命令行怎麼用

SVN Commit
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:%f /notempfile /closeonend
SVN CommitAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:* /notempfile /closeonend
SVN Diff
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend
SVN Log
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:%f /notempfile /closeonend
SVN Update
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%f /notempfile /closeonend
SVN UpdateAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:* /notempfile /closeonend
Source Monitor
D:\SourceMonitor\SourceMonitor /DC++ %f

『伍』 windows 怎麼用svn命令

1、Windows下命令行工具:

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

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

目錄約定:

『陸』 怎麼合並svn分支到主幹下

1:進入主幹的svn目錄

2:首先查詢出創建分支的開始版本

命令:svn -q --stop-on- 分支URL,這條命令會查詢出自創建分支以後
分支上的所有修改,最下面的那個版本號就是我們要找的版本號.

示例:
svn log -q --stop-on- svn://192.168.1.177/tags/beta_2009_12_24

3:使用svn merge命令合並分支。

命令:
svn -r 分支版本號:HEAD 分支的URL

解釋:HEAD為當前主幹上的最新版本

示例:
svn merge -r 12:HEAD svn://192.168.1.177/tags/beta_2009_12_24

4: 使用svn st | grep "C "查找合並時的沖突文件,手工解決沖突

5:使用svn commit -m "" 提示合並後的版本

『柒』 SVN merge問題。

1、是的
2、不會被合並
3、這要看你在101版本修改的文件1.txt是否包含的99版中的變更了。如果包含,則99版的變更會合並進來;若不包含,則不會合並進來。

『捌』 tortoiseSvn分支合並到主幹時報tree conflict

1:進入主幹的svn目錄

2:首先查詢出創建分支的開始版本

命令:svn -q --stop-on- 分支URL,這條命令會查詢出自創建分支以後
分支上的所有修改,最下面的那個版本號就是我們要找的版本號.

示例:
svn log -q --stop-on- svn://192.168.1.177/tags/beta_2009_12_24

3:使用svn merge命令合並分支。

命令:
svn -r 分支版本號:HEAD 分支的URL

解釋:HEAD為當前主幹上的最新版本

示例:
svn merge -r 12:HEAD svn://192.168.1.177/tags/beta_2009_12_24

4: 使用svn st | grep "C "查找合並時的沖突文件,手工解決沖突

5:使用svn commit -m "" 提示合並後的版本

『玖』 SVN配置管理的問題,如何令多個項目合並到一個裡面

將一個項目作為主幹放trunk中,其他項目導入到branches裡面,將branches裡面的其他項目中要合並的目錄重命名,然後將主幹中的目錄通過team下面的復制命令,復制到branches對應的目錄下,然後將branches重命名目錄下的文件復制到從主幹拷過來的文件,提交之後,就可以進行合並了。

『拾』 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

閱讀全文

與svn合並命令相關的資料

熱點內容
socket發數據java 瀏覽:562
上傳圖片伺服器開小差是什麼意思 瀏覽:785
pdf文件怎麼轉換為ppt文件 瀏覽:858
web前端開發與java 瀏覽:737
安卓如何卸載軟體 瀏覽:500
linux如何查看伺服器型號 瀏覽:282
php新建一個對象 瀏覽:682
滴滴加密錄像投訴 瀏覽:979
word兼容pdf 瀏覽:641
阿里雲輕量應用伺服器怎麼買 瀏覽:569
斗魚程序員工資待遇 瀏覽:347
不能應用去色調整命令 瀏覽:895
開啟設備加密 瀏覽:79
起亞壓縮機保修 瀏覽:975
單片機國內發展趨勢 瀏覽:771
警戒指標公式源碼 瀏覽:130
python標准庫之網路相關 瀏覽:40
adbjava 瀏覽:409
php工資太低 瀏覽:738
手動建造命令方塊教程 瀏覽:8