我在工作区级别有一个git repo。即一个仓库中多个密切相关的Eclipse项目。
如果我将.metadata添加到.gitignore,那么每次创建新的分支和结帐时,我都会丢失.metadata文件,因此会手动导入所有项目。这很不愉快。
将.metadata文件存储在版本控制下是否安全?这是一个多开发人员项目,JDK版本甚至OS(未来)可能会有所不同。 (我们目前都在Ubuntu上。)
是否还有其他IDE文件不应该被注释?
谢谢,
克里斯。
答案 0 :(得分:4)
问题是,在将文件和/或目录添加到.gitignore
之前,git已经跟踪了该文件和/或目录:
这意味着,除其他外,如果您在分支f
中有一个未跟踪的文件b1
,但是您签出此文件所在的分支b2
跟踪,git将无情地覆盖f
。
正如前一个问题中所提到的,在“损害完成”之后让git完全忽略这些文件的解决方案包括发布git rm -r --cached
并且只将它们添加到.gitignore。但这需要逐个分支完成,这意味着在此期间你仍然会遇到问题。
根据您的情况,您有两种选择:
.metadata
放入.gitignore
- 并先提交,然后再提交其余内容; git filter-branch
。对于其他IDE忽略的其他文件,我只能告诉IDEA:.idea
和*.iml
。别人不知道......