是否可以在一个客户端本地忽略对subversion中文件的更改,而不将ignore传播到整个存储库?
我正在处理的特殊问题是我检查了一个项目并修改了一堆文件,包括Makefile,它已经是存储库的一部分。现在我正在处理的环境与组的其他部分不同,我希望Makefile的更改在我的机器上保持本地状态而不是提交。
但是,我不想设置svn:ignore,因为我相信会将忽略提交到存储库,而将make文件保存在那里很重要。
答案 0 :(得分:38)
与svn的许多方面一样,乌龟让它变得非常简单。事实上,我相信乌龟实际上通过系统地使用现有的svn功能来增加功能。我意识到这个答案只是windows,然而,也许有些人像我一样仍然使用Windows。在“检查修改”弹出窗口中,只需右键单击您的文件,然后选择“移至更改列表” - >“gt-on-commit”。现在,当您使用乌龟签入时,它会将您的更改细分为各种更改列表,因此至少您可以直观地告诉您要提交的内容以及您不想提交的内容。
答案 1 :(得分:11)
如果您使用Subversion 1.5.x或更高版本,则可以使用更改列表:
svn cl COMMIT /path/to/project/*
svn cl NOT_COMMIT /path/to/project/Makefile
注意:第二个命令 Makefile 将从第一个更改列表中删除。您可以忽略该警告。
不要提交第二个更改列表。
通过以下方式提交:
svn ci --cl COMMIT -m"<LOG MESSAGE HERE>"
重要:强> 如果您在没有--cl选项的情况下提交,则将提交所有更改
答案 2 :(得分:1)
我能想到的最接近的安全解决方案是使用个人分支。
答案 3 :(得分:-3)
使用svn export
导出文件,使其不受版本控制。
http://svnbook.red-bean.com/en/1.0/re10.html
编辑:但我相信这必须在每个目录的基础上完成,所以你必须稍微重新组织你的文件。
我目前无法测试这一点,但是稀疏结账可以帮助你吗?
http://svnbook.red-bean.com/nightly/en/svn.advanced.sparsedirs.html