diff --git a/Drupal.gitignore b/Drupal.gitignore index 072b6831..50d3eef8 100644 --- a/Drupal.gitignore +++ b/Drupal.gitignore @@ -1,39 +1,46 @@ -# Ignore configuration files that may contain sensitive information. -sites/*/*settings*.php -sites/example.sites.php +# gitignore template for Drupal 8 projects +# +# earlier versions of Drupal are tracked in `community/Python/` -# Ignore paths that contain generated content. -files/ -sites/*/files -sites/*/private -sites/*/translations +# Ignore configuration files that may contain sensitive information +/sites/*/*settings*.php +/sites/*/*services*.yml -# Ignore default text files -robots.txt -/CHANGELOG.txt -/COPYRIGHT.txt -/INSTALL*.txt +# Ignore paths that may contain user-generated content +/sites/*/files +/sites/*/public +/sites/*/private +/sites/*/files-public +/sites/*/files-private + +# Ignore paths that may contain temporary files +/sites/*/translations +/sites/*/tmp +/sites/*/cache + +# Ignore drupal core (if not versioning drupal sources) +/core +/modules/README.txt +/profiles/README.txt +/sites/README.txt +/sites/example.sites.php +/sites/example.settings.local.php +/sites/development.services.yml +/themes/README.txt +/vendor +/.csslintrc +/.editorconfig +/.eslintignore +/.eslintrc.json +/.gitattributes +/.htaccess +/autoload.php +/composer.json +/composer.lock +/example.gitignore +/index.php /LICENSE.txt -/MAINTAINERS.txt -/UPGRADE.txt /README.txt -sites/README.txt -sites/all/libraries/README.txt -sites/all/modules/README.txt -sites/all/themes/README.txt - -# Ignore everything but the "sites" folder ( for non core developer ) -.htaccess -web.config -authorize.php -cron.php -index.php -install.php -update.php -xmlrpc.php -/includes -/misc -/modules -/profiles -/scripts -/themes +/robots.txt +/update.php +/web.config diff --git a/README.md b/README.md index adb59664..db171347 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,47 @@ the following resources are a great place to start: ## Folder structure -The files in the root directory are for `.gitignore` templates that are -project-specific, such as language or framework specific templates. -Global (operating system or editor specific) templates should go into the -[`Global/`](./Global) directory. +We support a collection of templates, organized in this way: + +- the root folder contains templates in common use, to help people get started + with popular programming languages and technologies. These define a meaningful + set of rules to help get started, and ensure you are not committing + unimportant files into your repository +- [`Global`](./Global) contains templates for various editors, tools and + operating systems that can be used in different situations. It is recommended + that you either [add these to your global template](https://help.github.com/articles/ignoring-files/#create-a-global-gitignore) + or merge these rules into your project-specific templates if you want to use + them permanently. +- [`community`](./community) contains specialized templates for other popular + languages, tools and project, which don't currently belong in the mainstream + templates. These should be added to your project-specific templates when you + decide to adopt the framework or tool. + +## What makes a good template? + +A template should contain a set of rules to help Git repositories work with a +specific programming language, framework, tool or environment. + +If it's not possible to curate a small set of useful rules for this situation, +then the template is not a good fit for this collection. + +If a template is mostly a list of files installed by a particular version of +some software (e.g. a PHP framework), it could live under the `community` +directory. See [versioned templates](#versioned-templates) for more details. + +If you have a small set of rules, or want to support a technology that is not +widely in use, and still believe this will be helpful to others, please read the +section about [specialized templates](#specialized-templates) for more details. + +If you believe your template is important and should be highly visible, please +add details about the impact of the technology when you open a pull request. We +may not accept it immediately, but we can promote it to the root at a later date +based on interest. + +Please also understand that we can’t list every tool that ever existed. +Our aim is to curate a collection of the _most common and helpful_ templates, +not to make sure we cover every project possible. If we choose not to +include your language, tool, or project, it’s not because it’s not awesome. ## Contributing guidelines @@ -39,7 +76,7 @@ high quality, we request that contributions adhere to the following guidelines. - **Explain why you’re making a change**. Even if it seems self-evident, please take a sentence or two to tell us why your change or addition should happen. - It’s especially helpful to articulate why this change applies to *everyone* + It’s especially helpful to articulate why this change applies to _everyone_ who works with the applicable technology, rather than just you or your team. - **Please consider the scope of your change**. If your change is specific to a @@ -47,21 +84,56 @@ high quality, we request that contributions adhere to the following guidelines. template for that language or framework, rather than to the template for an editor, tool, or operating system. -- **Please only modify *one template* per pull request**. This helps keep pull +- **Please only modify _one template_ per pull request**. This helps keep pull requests and feedback focused on a specific project or technology. In general, the more you can do to help us understand the change you’re making, the more likely we’ll be to accept your contribution quickly. -If a template is mostly a list of files installed by a particular version of -some software (e.g. a PHP framework) then it's brittle and probably no more -helpful than a simple `ls`. If it's not possible to curate a small set of -useful rules, then the template might not be a good fit for this collection. +## Versioned templates -Please also understand that we can’t list every tool that ever existed. -Our aim is to curate a collection of the *most common and helpful* templates, -not to make sure we cover every project possible. If we choose not to -include your language, tool, or project, it’s not because it’s not awesome. +Some templates can change greatly between versions, and if you wish to contribute +to this repository we need to follow this specific flow: + +- the template at the root should be the current supported version +- the template at the root should not have a version in the filename (i.e. + "evergreen") +- previous versions of templates should live under `community/` +- previous versions of the template should embed the version in the filename, + for readability + +This helps ensure users get the latest version (because they'll use whatever is +at the root) but helps maintainers support older versions still in the wild. + +## Specialized templates + +If you have a template that you would like to contribute, but it isn't quite +mainstream, please consider adding this to the `community` directory under a +folder that best suits where it belongs. + +The rules in your specialized template should be specific to the framework or +tool, and any additional templates should be mentioned in a comment in the +header of the template + +For example, this template might live at `community/DotNet/InforCRM.gitignore`: + +``` +# gitignore template for InforCRM (formerly SalesLogix) +# website: https://www.infor.com/product-summary/cx/infor-crm/ +# +# Recommended: VisualStudio.gitignore + +# Ignore model files that are auto-generated +ModelIndex.xml +ExportedFiles.xml + +# Ignore deployment files +[Mm]odel/[Dd]eployment + +# Force include portal SupportFiles +!Model/Portal/*/SupportFiles/[Bb]in/ +!Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in +``` ## Contributing workflow diff --git a/community/DotNet/InforCMS.gitignore b/community/DotNet/InforCMS.gitignore new file mode 100644 index 00000000..29c7d8e5 --- /dev/null +++ b/community/DotNet/InforCMS.gitignore @@ -0,0 +1,15 @@ +# gitignore template for InforCRM (formerly SalesLogix) +# website: https://www.infor.com/product-summary/cx/infor-crm/ +# +# Recommended: VisualStudio.gitignore + +# Ignore model files that are auto-generated +ModelIndex.xml +ExportedFiles.xml + +# Ignore deployment files +[Mm]odel/[Dd]eployment + +# Force include portal SupportFiles +!Model/Portal/*/SupportFiles/[Bb]in/ +!Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in diff --git a/community/DotNet/Kentico.gitignore b/community/DotNet/Kentico.gitignore new file mode 100644 index 00000000..3b278b6a --- /dev/null +++ b/community/DotNet/Kentico.gitignore @@ -0,0 +1,64 @@ +# gitignore template for using Kentico CMS +# website: http://www.kentico.com/ +# +# Recommended template: VisualStudio.gitignore + +# Include some Kentico folders excluded by Visual Studio rules +!CMS/CMSAdminControls/*/ +!CMS/CMSModules/System/*/ +!CMS/App_Data/CIRepository/** + +# Kentico temporary/environment files +CMS/App_Data/AzureCache +CMS/App_Data/AzureTemp +CMS/App_Data/CMSModules/DeviceProfile/logFiftyOne.txt +CMS/App_Data/CMSModules/DeviceProfiles/logFiftyOne.txt +CMS/App_Data/CMSModules/WebFarm/webfarm.sync +CMS/App_Data/CMSTemp +CMS/App_Data/Persistent +CMS/CMSSiteUtils/Export +CMS/CMSSiteUtils/Import + +# Ignore all smart search indexes, but not the other system folder contents +CMS/App_Data/CMSModules/SmartSearch/** +!CMS/App_Data/CMSModules/SmartSearch/*/ +!CMS/App_Data/CMSModules/SmartSearch/_StopWords/** +!CMS/App_Data/CMSModules/SmartSearch/_Synonyms/** + +## Kentico Starter Sites +# Starter site resource Files +CMS/App_Data/DancingGoat + +# Starter site web templates +CMS/App_Data/Templates/CommunitySite +CMS/App_Data/Templates/CorporateSite +CMS/App_Data/Templates/DancingGoat +CMS/App_Data/Templates/EcommerceSite +CMS/App_Data/Templates/IntranetPortal +CMS/App_Data/Templates/PersonalSite + +# Starter site app themes +CMS/App_Themes/CommunitySite +CMS/App_Themes/CorporateSite +CMS/App_Themes/EcommerceSite +CMS/App_Themes/IntranetPortal* +CMS/App_Themes/PersonalSite + +# Starter site ASPX templates +CMS/CMSTemplates/CorporateSite + +# Starter site media libraries +CMS/CommunitySite +CMS/CorporateSite +CMS/DancingGoat +CMS/EcommerceSite +CMS/IntranetPortal +CMS/PersonalSite + +## Project specific ignores +# Sensitive settings +AppSettings.config +ConnectionStrings.config + +# Project media libraries (recommend shared file storage) +# e.g. CMS/{SiteCodeName} diff --git a/community/Elixir/Phoenix.gitignore b/community/Elixir/Phoenix.gitignore new file mode 100644 index 00000000..522c8d56 --- /dev/null +++ b/community/Elixir/Phoenix.gitignore @@ -0,0 +1,22 @@ +# gitignore template for Phoenix projects +# website: http://www.phoenixframework.org/ +# +# Recommended template: Elixir.gitignore + +# Temporary files +/tmp + +# Static artifacts +/node_modules +/assets/node_modules + +# Since we are building assets from web/static, +# we ignore priv/static. You may want to comment +# this depending on your deployment strategy. +/priv/static/ + +# Installer-related files +/installer/_build +/installer/tmp +/installer/doc +/installer/deps diff --git a/community/Golang/Hugo.gitignore b/community/Golang/Hugo.gitignore new file mode 100644 index 00000000..acccf884 --- /dev/null +++ b/community/Golang/Hugo.gitignore @@ -0,0 +1,8 @@ +# gitginore template for Hugo projects +# website: https://gohugo.io + +# generated files by hugo +/public/ + +# executable may be added to repository +hugo.exe diff --git a/community/Java/JBoss4.gitignore b/community/Java/JBoss4.gitignore new file mode 100644 index 00000000..d416538c --- /dev/null +++ b/community/Java/JBoss4.gitignore @@ -0,0 +1,19 @@ +# gitignore for JBoss v4 projects + +/server/all/data +/server/all/log +/server/all/tmp +/server/all/work +/server/default/data +/server/default/log +/server/default/tmp +/server/default/work +/server/minimal/data +/server/minimal/log +/server/minimal/tmp +/server/minimal/work + +# Note: +# there may be other directories that contain *.xml.failed or *.war.failed files +/server/default/deploy/*.xml.failed +/server/default/deploy/*.war.failed diff --git a/community/Java/JBoss6.gitignore b/community/Java/JBoss6.gitignore new file mode 100644 index 00000000..dc7dce76 --- /dev/null +++ b/community/Java/JBoss6.gitignore @@ -0,0 +1,33 @@ +# gitignore for JBoss v6 projects +# +# Note: to ensure empty directories remain part of the repository, like +# `/server/minimal/lib`, you should add an empty `.gitignore` or `.gitkeep` file +# to the directory - otherwise you may have issues when starting the service. + +/server/all/data +/server/all/log +/server/all/tmp +/server/all/work +/server/default/data +/server/default/log +/server/default/tmp +/server/default/work +/server/minimal/data +/server/minimal/log +/server/minimal/tmp +/server/minimal/work +/server/jbossweb-standalone/data +/server/jbossweb-standalone/log +/server/jbossweb-standalone/tmp +/server/jbossweb-standalone/work +/server/standard/data +/server/standard/log +/server/standard/tmp +/server/standard/work +/server/default/deploy/*.jar.failed +/server/default/deploy/*.jar.dodeploy +/server/default/deploy/*.xml.failed +/server/default/deploy/*.xml.dodeploy +/server/default/deploy/*.war.failed +/server/default/deploy/*.war.dodeploy + diff --git a/community/JavaScript/Cordova.gitignore b/community/JavaScript/Cordova.gitignore new file mode 100644 index 00000000..4bd87859 --- /dev/null +++ b/community/JavaScript/Cordova.gitignore @@ -0,0 +1,10 @@ +# gitignore template for the Cordova framework +# website: https://cordova.apache.org/ +# +# Recommended template: Node.gitignore + +# App platform binaries and built files +/platforms + +# Optional to ignore plugin Git clones +#/plugins diff --git a/community/JavaScript/Meteor.gitignore b/community/JavaScript/Meteor.gitignore new file mode 100644 index 00000000..7194fd0e --- /dev/null +++ b/community/JavaScript/Meteor.gitignore @@ -0,0 +1,12 @@ +# gitignore template for the Meteor framework +# website: https://www.meteor.com/ +# +# Recommended template: Node.gitignore + +# protect api keys in setting json +settings-production.json +settings.json + +# protect your mup.json settings +mup.json +mup.js diff --git a/community/JavaScript/NWjs.gitignore b/community/JavaScript/NWjs.gitignore new file mode 100644 index 00000000..f006b08b --- /dev/null +++ b/community/JavaScript/NWjs.gitignore @@ -0,0 +1,29 @@ +# gitignore template for NW.js projects +# website: https://nwjs.io/ + +# Seen in standard and sdk versions +credits.html +locales/ +libEGL.dll +libGLEv2.dll +node.dll +nw.dll +nw.exe +natives_blob.bin +nw_100_percent.pak +nw_200_percent.pak +nw_elf.dll +snapshot_blob.bin +resources.pak + +# Seen only in standard +d3dcompiler_47.dll +ffmpeg.dll +icudtl.dat + +# Seen only in sdk +pnacl/ +chromedriver.exe +nacl_irt_x86_64.nexe +nwjc.exe +payload.exe diff --git a/community/JavaScript/Nuxt.gitignore b/community/JavaScript/Nuxt.gitignore new file mode 100644 index 00000000..cd6c77a3 --- /dev/null +++ b/community/JavaScript/Nuxt.gitignore @@ -0,0 +1,9 @@ +# gitignore template for Nuxt.js projects +# +# Recommended template: Node.gitignore + +# Nuxt build +.nuxt + + # Nuxt generate +dist diff --git a/community/JavaScript/Vue.gitignore b/community/JavaScript/Vue.gitignore new file mode 100644 index 00000000..4538951c --- /dev/null +++ b/community/JavaScript/Vue.gitignore @@ -0,0 +1,9 @@ +# gitignore template for Vue.js projects +# +# Recommended template: Node.gitignore + +# TODO: where does this rule come from? +docs/_book + +# TODO: where does this rule come from? +test/ diff --git a/community/Linux/Snap.gitignore b/community/Linux/Snap.gitignore new file mode 100644 index 00000000..ea38c6dd --- /dev/null +++ b/community/Linux/Snap.gitignore @@ -0,0 +1,14 @@ +# gitginore template for creating Snap packages +# website: https://snapcraft.io/ + +parts/ +prime/ +stage/ +*.snap + +# Snapcraft global state tracking data(automatically generated) +# https://forum.snapcraft.io/t/location-to-save-global-state/768 +/snap/.snapcraft/ + +# Source archive packed by `snapcraft cleanbuild` before pushing to the LXD container +/*_source.tar.bz2 diff --git a/community/Logtalk.gitignore b/community/Logtalk.gitignore new file mode 100644 index 00000000..c680e647 --- /dev/null +++ b/community/Logtalk.gitignore @@ -0,0 +1,19 @@ +# gitignore template for LogTalk, a programming language that builds upon Prolog +# website: https://logtalk.org/ + +# Logtalk temporary file directories +.lgt_tmp/ +lgt_tmp/ + +# Logtalk default unit testing and doclet results and logs directories +logtalk_tester_logs/ +logtalk_doclet_logs/ + +# backend Prolog compiler temporary files +.pl-history +*.out +*.xwam +*.qo +*.ql +*.itf +*.po diff --git a/community/PHP/Bitrix.gitignore b/community/PHP/Bitrix.gitignore new file mode 100644 index 00000000..d288916f --- /dev/null +++ b/community/PHP/Bitrix.gitignore @@ -0,0 +1,23 @@ +# gitignore template for 1C-Bitrix, a PHP-based CMS +# website: https://www.1c-bitrix.ru + +#Exclude all of core files +/bitrix/* + +#But not the templates and non bitrix components +!/bitrix/templates +!/bitrix/components +/bitrix/components/bitrix + +#Exclude bitrix gadgets +!/bitrix/gadgets +/bitrix/gadgets/bitrix + +#User can use that directory to store some stuff, but it's not really recommended, just use /local instead of this +!/bitrix/php_interface/ + +#Exclude database configs +/bitrix/php_interface/dbconn.php + +#Exclude default file storage directory +/upload/ diff --git a/community/PHP/CodeSniffer.gitignore b/community/PHP/CodeSniffer.gitignore new file mode 100644 index 00000000..d4b37684 --- /dev/null +++ b/community/PHP/CodeSniffer.gitignore @@ -0,0 +1,7 @@ +# gitignore for the PHP Codesniffer framework +# website: https://github.com/squizlabs/PHP_CodeSniffer +# +# Recommended template: PHP.gitignore + +/vendor/* +/wpcs/* diff --git a/community/PHP/Magento1.gitignore b/community/PHP/Magento1.gitignore new file mode 100644 index 00000000..aac92ca7 --- /dev/null +++ b/community/PHP/Magento1.gitignore @@ -0,0 +1,45 @@ +# gitignore template for Magento v1 projects +# +# It is recommended that you use `Magento.gitignore` as this is the latest version + +/PATCH_*.sh + +/app/etc/local.xml + +/media/* +!/media/.htaccess + +!/media/customer +/media/customer/* +!/media/customer/.htaccess + +!/media/dhl +/media/dhl/* +!/media/dhl/logo.jpg + +!/media/downloadable +/media/downloadable/* +!/media/downloadable/.htaccess + +!/media/xmlconnect +/media/xmlconnect/* + +!/media/xmlconnect/custom +/media/xmlconnect/custom/* +!/media/xmlconnect/custom/ok.gif + +!/media/xmlconnect/original +/media/xmlconnect/original/* +!/media/xmlconnect/original/ok.gif + +!/media/xmlconnect/system +/media/xmlconnect/system/* +!/media/xmlconnect/system/ok.gif + +/var/* +!/var/.htaccess + +!/var/package +/var/package/* +!/var/package/*.xml + diff --git a/community/PHP/Pimcore.gitignore b/community/PHP/Pimcore.gitignore new file mode 100644 index 00000000..4090b4ad --- /dev/null +++ b/community/PHP/Pimcore.gitignore @@ -0,0 +1,53 @@ +# gitignore template for Pimcore CMS + +# pimcore source files +/pimcore + +# asset files +/website/var/assets/* + +# backups +/website/var/backup/* + +# file cache +/website/var/cache/* + +# generated PHP classes, keep definition files (.psf) +/website/var/classes/Object* +!/website/var/classes/objectbricks + +# various configuration files +/website/var/config/system.xml +/website/var/config/cache.xml +/website/var/config/robots.txt +/website/var/config/Geo* +/website/var/config/object/* +/website/var/config/portal/* +/website/var/config/sqlreport/* + +# sent e-mail log files +/website/var/email/* + +# log files +/website/var/log/*.log + +# serialized recyclebin files +/website/var/recyclebin/* + +# search plugin +/website/var/search/* + +# various temp files +/website/var/system/* +/website/var/tmp/* + +# serialized version files +/website/var/versions/asset/* +/website/var/versions/document/* +/website/var/versions/object/* + +# user profile images +/website/var/user-image/* + +# keep .dummy files +!.dummy diff --git a/community/PHP/ThinkPHP.gitignore b/community/PHP/ThinkPHP.gitignore new file mode 100644 index 00000000..348ebf05 --- /dev/null +++ b/community/PHP/ThinkPHP.gitignore @@ -0,0 +1,8 @@ +# gitignore template for ThinkPHP v3.2.3 +# website: http://www.thinkphp.cn/ + +# Logs and Cache files +/Application/Runtime/ + +# Common configure file +/Application/Common/Conf/config.php \ No newline at end of file diff --git a/community/Python/Drupal7.gitignore b/community/Python/Drupal7.gitignore new file mode 100644 index 00000000..da61e4a5 --- /dev/null +++ b/community/Python/Drupal7.gitignore @@ -0,0 +1,43 @@ +# gitignore template for Drupal 7 projects +# +# It is recommended that you use `Drupal.gitignore` as this is the latest version + +# Ignore configuration files that may contain sensitive information. +sites/*/*settings*.php +sites/example.sites.php + +# Ignore paths that contain generated content. +files/ +sites/*/files +sites/*/private +sites/*/translations + +# Ignore default text files +robots.txt +/CHANGELOG.txt +/COPYRIGHT.txt +/INSTALL*.txt +/LICENSE.txt +/MAINTAINERS.txt +/UPGRADE.txt +/README.txt +sites/README.txt +sites/all/libraries/README.txt +sites/all/modules/README.txt +sites/all/themes/README.txt + +# Ignore everything but the "sites" folder ( for non core developer ) +.htaccess +web.config +authorize.php +cron.php +index.php +install.php +update.php +xmlrpc.php +/includes +/misc +/modules +/profiles +/scripts +/themes diff --git a/community/Racket.gitignore b/community/Racket.gitignore new file mode 100644 index 00000000..962478a1 --- /dev/null +++ b/community/Racket.gitignore @@ -0,0 +1,15 @@ +# gitignore template for the Racket language +# website: http://www.racket-lang.org/ + +# DrRacket autosave files +*.rkt~ +*.rkt.bak +\#*.rkt# +\#*.rkt#*# + +# Compiled racket bytecode +compiled/ +*.zo + +# Dependency tracking files +*.dep diff --git a/community/Red.gitignore b/community/Red.gitignore new file mode 100644 index 00000000..b78a06fc --- /dev/null +++ b/community/Red.gitignore @@ -0,0 +1,16 @@ +# gitignore template for Red programming language +# website: http://www.red-lang.org/ + +# Red Compiled code +*.red + +# Libraries +crush.dll +crush.dylib +crush.so + +# Files generated during test +quick-test/quick-test.log +quick-test/runnable/ +system/tests/source/units/auto-tests/ +tests/source/units/auto-tests/