我在svn中编辑了一些文件,如下所示:
$svn st M a M b ...
现在,我想将我的更改提交给svn,由于某种原因,我不想提交文件 b ,是否有任何快速方法或命令忽略修改后的文件 b ?
b
最后,我使用@yzucker解决方案1,cp,还原和提交 . 变更列表太重了,谢谢大家 .
唉,提交许多文件与一些烦人的变化忽略了问题 .
解决方案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中引入了破坏的代码 .
您可以使用较新的Subverion客户端的Changelist功能,如此简短示例会话中所示:
$ 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 co a -m "Only commit a"
然后将排除b . 最后通过示例查看documentation of the command .
另一种选择可能是使用changelists,但这更重......
如果文件 b 已添加到存储库,则无法再忽略它 . 您必须删除此文件,提交,重新创建并设置ignore属性,如下所示:
svn propset svn:ignore b .
最后一个点表示当前文件夹 .
如果要仅在此提交中忽略文件,请在commit命令中显式键入其名称
svn co a c d
a , c , d 是您要提交的文件 .
a
c
d
在Windows上,您可以使用GUI客户端TortoiseSVN,只需选择所需的复选框 .
5 回答
唉,提交许多文件与一些烦人的变化忽略了问题 .
解决方案1:复制,还原和提交
解决方案2:复制,提交,反转b的效果,重新承诺b
第二种方法不太优选,因为你在svn中引入了破坏的代码 .
您可以使用较新的Subverion客户端的Changelist功能,如此简短示例会话中所示:
我认为没有选项只能排除一个文件,并包含所有其他文件 . 在您的示例中,您可以只包含要提交的文件
然后将排除b . 最后通过示例查看documentation of the command .
另一种选择可能是使用changelists,但这更重......
如果文件
b
已添加到存储库,则无法再忽略它 . 您必须删除此文件,提交,重新创建并设置ignore属性,如下所示:最后一个点表示当前文件夹 .
如果要仅在此提交中忽略文件,请在commit命令中显式键入其名称
a
,c
,d
是您要提交的文件 .在Windows上,您可以使用GUI客户端TortoiseSVN,只需选择所需的复选框 .