我正在使用Eclipse和Subversion进行Java开发,我发现自己希望版本控制系统中有一个功能(据我所知,SVN中没有这个功能)。
我希望我的项目设置文件被忽略一半。更确切地说,我希望它们在VCS中可用,我希望在有人检查更改时发生合并,但。我希望自己的更改被忽略,除非我非常明确地告诉系统采取它们。
这将允许我在我的本地配置中使用我的本地路径(和其他设置),而不会搞砸其他人的配置。但是,当我有一个实质性的改变,我仍然可以检查它(非常非常仔细,可能暂时删除我的其他本地更改)并将其交付给其他人。
现在,实际问题是:是否有支持此功能的VCS?或者可能是我在SVN中遗漏了什么?其他人如何在Eclipse中解决这个问题?
答案 0 :(得分:1)
是的,Git通过 filter driver 支持该功能(一个clean
script可以在提交时运行,允许您根据需要清除任何更改中的内容)。
但另一种方法是从不版本设置文件,只有版本:
这样,您可以根据自己的内容对其进行修改,而无需进行更改。
答案 1 :(得分:0)
.gitignore for git,.hgignore for mercurial和文件路径和模式可以添加,不会被提交。在SVN中有类似的但我从来没有弄清楚如何自己使用它,但我的sysop确实从我这里设置了它。
答案 2 :(得分:0)
git支持
git update-index --assume-unchanged <file>
和补充
git update-index --no-assume-unchanged <file>
有关详细信息,请参阅http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files和http://kernel.org/pub/software/scm/git/docs/git-update-index.html#_options。