我编辑的一些文件在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