我想在特定的开发环境中使用git。 MetaTrader 4。
开发目录的结构是固定的,它是这种类型:
MQL4
Expert
Files
imagery
Include
Indicators
默认情况下,某些目录带有示例文件。 我的想法是在这些目录下创建目录,并在.gitignore中表示,我希望git只能考虑这些目录。
MQL4
Expert
MyGITExperts
Files
imagery
Include
MyGITInclude
Indicators
MyGITIndicators
我的想法是正确的吗? 还有更好的吗? 如何告诉git,它应该只关注这些和这些子文件夹?
答案 0 :(得分:4)
是的,有办法。
来自git docs 示例排除除特定目录foo / bar之外的所有内容(注意/ * - 没有斜杠,通配符也会排除foo / bar中的所有内容):
$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar
http://git-scm.com/docs/gitignore
在你的情况下 我假设MQL4在您的项目根目录中(其中.git文件在那里)
/*
!/MQL4
/MQL4/*
!/MQL4/Expert/MyGITExperts
!/MQL4/Files
!/MQL4/imagery
!/MQL4/Include/MyGITInclude
!/MQL4/Indicators/MyGITIndicators
当您拥有大量此类文件夹时,这通常是一个坏主意
答案 1 :(得分:2)
gitignore - 指定要忽略的故意未跟踪文件
首先,您需要提及您不想跟踪的文件,然后包括您想要处理的文件。
例如,Lets说你在Include/
中有几个其他目录/文件
您需要先忽略它们,然后明确地忽略Include/MyGITInclude/
目录
/Include/*
!/Include/MyGITInclude/
这样您就可以获得所有MyGITInclude /目录,包括子目录及其文件。对其他目录/子目录执行相同的操作。
干杯!