Subversion:忽略仅在一个客户端上本地修改文件

fua*_*uad 51 svn ignore

是否可以在一个客户端本地忽略对subversion中文件的更改,而不将ignore传播到整个存储库?

我正在处理的特殊问题是我检查了一个项目并修改了一堆文件,包括Makefile,它已经是存储库的一部分.现在,我正在处理的环境与组的其他部分不同,我希望Makefile的更改在我的机器上保持本地状态而不是提交.

但是,我不想设置svn:ignore,因为我相信会将忽略提交到存储库,而将make文件保存在那里很重要.

and*_*bd1 38

与svn的许多方面一样,乌龟使它变得非常简单.事实上,我相信乌龟实际上通过系统地使用现有的svn功能来增加功能.我意识到这个答案只是windows,然而,也许有些人像我一样仍然使用Windows.在"检查修改"弹出窗口中,只需右键单击您的文件,然后选择"移至更改列表" - >"忽略提交".现在,当您使用乌龟签入时,它会将您的更改细分为各种更改列表,因此至少您可以直观地告诉您要提交的内容以及您不想提交的内容.

  • 太好了!但文件(以及文件夹)仍显示为已修改. (3认同)
  • 如前所述,除了显示文件已被修改之外,这是完美的.不过,每次我提交时都必须取消选中所有这些文件. (2认同)

Pet*_*ker 11

如果您使用Subversion 1.5.x或更高版本,则可以使用更改列表:

svn cl COMMIT /path/to/project/*

svn cl NOT_COMMIT /path/to/project/Makefile
Run Code Online (Sandbox Code Playgroud)

注意:使用第二个命令Makefile将从第一个更改列表中删除.您可以忽略该警告.

不要提交第二个更改列表.

提交通过:

svn ci --cl COMMIT -m"<LOG MESSAGE HERE>" 
Run Code Online (Sandbox Code Playgroud)

重要提示: 如果您在没有--cl选项的情况下提交,则将提交所有更改

  • 变更列表似乎很有用,但我认为它们并不适用于此.这是一个不同的用例.如果命令默认忽略变更列表中的文件,它们可能会起作用 - 这将非常有用.但除非我弄错了,否则这不是它的工作方式.如果您没有在命令上指定更改列表,那么它的行为就像更改列表不存在一样,对吗?因此,即使更改列表支持目录,也不是理想的解决方案.您必须手动将您确实要签入的文件移动到更改列表中.我宁愿只手动标记我不想签入的文件. (2认同)

Joh*_*ter -3

用于svn export导出文件,使其不受版本控制。

http://svnbook.red-bean.com/en/1.0/re10.html

编辑:但是我相信这必须在每个目录的基础上完成,所以你必须稍微重新组织你的文件。

我目前无法对此进行测试,但是稀疏结帐对您有帮助吗?

http://svnbook.red-bean.com/nightly/en/svn.advanced.sparsedirs.html