bounty还有6天到期。回答此问题可获得+50声望奖励。J Fabian Meier想要引起更多关注这个问题:我想在Eclipse中解决上述问题,而不是通过向我的git存储库添加假文件。Maven和GitLab工作得很好,只有Eclipse有这个“问题”,所以解决方案也应该在Eclipse内。
我最近把一个项目从SVN迁移到了Git。
现在我的Eclipse报告说缺少目录src/main/resources
。
这个目录在SVN中是一个空目录,但是Git似乎完全忽略了空目录。
我可以告诉Eclipse
- 在 checkout 项目时创建目录
- 或完全忽略“错误”
?
2条答案
按热度按时间pokxtpni1#
我不想把假文件放进目录。我想在Eclipse端解决这个问题
您可以告诉Eclipse忽略某些问题。
Window -> Preferences -> Validation
。找到导致问题的验证程序,并根据需要禁用它或调整其设置。
但是如果没有匹配的验证器,那么...解决方案在Git端。
Git提供了一个名为
gitattributes
的机制,可以用来在 checkout 和其他事件时指定自定义操作。filter
属性允许您定义一对“smudge
“和“clean
“脚本。smudge
脚本在 checkout 时运行,clean
脚本在暂存文件(即添加到索引)时运行。在本例中,您可以创建一个
smudge
脚本来创建所需的目录。.git/config
文件中定义一个filter
:这将设置一个名为“createDir”的过滤器。smudge命令创建
src/main/resources
目录(如果该目录尚不存在),然后将文件内容不加修改地传递给cat
。clean命令只是不加修改地传递文件内容。.gitattributes
文件中的存储库的已知文件(例如README.md
,如果有的话):这会将“
createDir
“过滤器应用于您的文件README.md
。由于它涉及到 local Git配置,因此需要由开发人员激活此过程:
kmbjn2e32#
你通常可以破解Git来做任何你想做的事情,所以它在这里,但看起来你试图使用Git作为部署服务器,它不是(就像Blender非常接近CAD程序一样,重点是错误的,移动这个方向会伤害它的主要业务)。
让Git创建一个空目录的诀窍是告诉它那里应该有一个单独的工作树。
然后当你检查提交的版本时,Git会在那里创建一个空目录。我用“黑客”这个词够多了吗正确的方法是有一个安装脚本,我在makefile中有一个“setup”目标,所有其他目标最终都依赖于它。
edit:查找所有空目录,
find -empty
.或者
-exec
你想怎么做就怎么做