我編輯的一些文件在SVN,像這樣:SVN:如何忽略提交時的修改文件?
$svn st
M a
M b
...
現在,我要提交我的修改SVN,出於某種原因,我不希望提交文件b
,有沒有什麼快捷方式或命令忽略修改後的文件b
?
最後,我用@yzucker解決方案1,CP,恢復和提交。 Changelists太重了,謝謝大家。
我編輯的一些文件在SVN,像這樣:SVN:如何忽略提交時的修改文件?
$svn st
M a
M b
...
現在,我要提交我的修改SVN,出於某種原因,我不希望提交文件b
,有沒有什麼快捷方式或命令忽略修改後的文件b
?
最後,我用@yzucker解決方案1,CP,恢復和提交。 Changelists太重了,謝謝大家。
唉,用一些惱人的變化提交很多文件忽略了問題。
解決方案1:複製,還原和提交
$cp b /tmp/
$svn revert b
$svn commit -m 'commit message'
$mv /tmp/b ./
解決方案2:拷貝,提交,逆轉B的效果,再次作出b
$cp b /tmp/
$svn commit -m 'commit message'
$svn merge -c -{new revision} b
$svn commit b -m 'revert message for b'
$cp /tmp/b ./b
第二種方法是較少優選的,因爲你介紹在svn破碎的代碼。
我不認爲有一個選項只能排除一個文件,幷包括所有其他更改。在你的例子中,你可以只包含你想要提交的文件
svn co a -m "Only commit a"
然後會排除b。結尾處的示例請參見documentation of the command。
另一個選擇可能是使用changelists,但更重...
我爲此使用更改列表(儘管不通過命令行)。 – 2011-12-27 12:20:45
如果有更改列表來定義要明確排除的文件,那可能是一個選項。但通常情況下,你有很多文件被更改(不在更改列表中),並且只希望只有1 *不* *提交... – mliebelt 2011-12-27 12:25:40
如果文件b
已經被添加到存儲庫,它不可能再忽視它。你必須刪除此文件,提交,重新創建並設置忽略屬性是這樣的:
svn propset svn:ignore b .
最後的點表示當前文件夾。
如果你想忽略只在此提交文件,在明確輸入姓名commit命令
svn co a c d
凡a
,c
,d
你想提交文件。
最後一個命令是否應該是'svn ci a c d'?這是一個解決方案,謝謝。 – fannheyward 2011-12-28 01:53:46
可以使用Changelist功能更新Subverion客戶如在這短短的示例會話:
$ svn st
M a
M b
$ svn cl task1 a
$ svn cl task2 b
$ svn st
--- Changelist 'task1':
M a
--- Changelist 'task2':
M b
$ svn ci --cl task1 -m "checking in only task 1 stuff"
Sending a
Committed revision 11.
什麼是svn版本? – 2016-02-03 07:29:05
在Windows中可以使用GUI客戶TortoiseSVN,只是只選擇所需的複選框。
不錯的主意,這應該是Subversion本身的一個特性。應該有一個標誌(讓它調用'-X'),它將排除文件被提交。 – mliebelt 2011-12-27 12:22:04