Git和; Eclipse:处理特定于用户的项目文件

时间:2013-04-25 07:22:59

标签: eclipse git

我对git中的项目和类文件处理提出了一般性问题:

当然,解决方案应该适用于具有原始构建过程不需要的特定环境文件的不同类型的项目,但仅适用于设置用户环境:

拥有在eclipse工作区中交互的x项目。每个项目都有一个.classpath和一个.project文件以及一个.settings文件夹。

现在,我想确保在repo中存在这些文件的初始“原始”版本,这些文件必须适应使用此存储库的用户并确保这些文件未被提交,因为这个特定于环境的修改过程。

我可以避免这个吗? git中是否有一种标志,表明将来会忽略文件的修改?

在这种情况下,

.gitignore不是有效选项,因为如果最初提交此文件中包含的文件,则不会将其忽略。

3 个答案:

答案 0 :(得分:2)

在我看来,这是不可能的。但是有一个简单的替代方法:不要将初始版本作为文件提供给git存储库,而是让它由脚本创建或从其他位置复制(它本身可能再次位于您的存储库中)。然后你可以从一开始就gitignore你的文件。

E.g。一个非常简单的解决方案是将Ant builder添加到项目的构建器列表中。 Ant脚本可以查看您的设置文件并从某个共享位置复制它们,修改它们或执行任何其他神奇的操作。

答案 1 :(得分:0)

我认为你期待Lock 一份文件。查看链接,如果您正在寻找,请告诉我。

答案 2 :(得分:0)

您可能希望使用git update-index --assume-unchanged,这会在提交时忽略这些文件。

但要小心,如果他们在其他地方改变了(例如,那些没有assume-unchanged他们的人):

  

如果需要修改此文件,Git将失败(优雅)   索引例如合并时提交;因此,万一   假定未跟踪文件在上游更改,您将需要处理   手动的情况。

考虑到你想要应用它的文件类型,它可能不常见(例如,当你更新项目类路径时,应该很少...),所以用户(或repo中的脚本)可以自己照顾它。