Si tu versionnes tes projets PHP avec Git, voici des modèles de fichier .gitignore (voir documentation officielle) que j’utilise depuis longtemps et qui évite de versionner des fichiers qui n’ont rien à faire sur le dépôt (fichiers temporaires des OS, de l’IDE…).
Ces modèles diffèrent des autres modèles que tu pourra trouver sur des plus plus connus, comme Github ou gitignore.io, dans le sens ou j’utilise des expressions régulières faisant que les règles sont adaptés à la plupart des projets, tout en contenant moins de lignes. Plus d’intelligence, quoi.
Bien sûr ce fichier est un modèle, il faudra quand même sûrement que tu rajoutes des règles spécifiques a ton projet. Certains fichiers peuvent être versionnés ou non suivant ta vision du versioning et la phase de ton projet (dev initial, tma…) : les lignes dans ce cas sont son commentés par défaut (voir lignes commençant par un seul #), a toi de voir si tu les actives ou non.
Comment ajouter facilement ces règles dans mon .gitignore
J’ai créé un projet projet GitHub dédié, contenant également les instructions ci-dessous en anglais).
Deux méthodes de copie sont disponible pour chaque fichier
- Méthode 1 : avec un terminal positionné sur la racine de votre projet web, contenant déjà ou pas un fichier nommé
.gitignore
(si un fichier est déja présent, du contenu va être ajouté à la fin) et taper la ligne de commande indiquée. A noter que cette ligne de commande ne fonctionne que sur un poste configuré avec un serveur web actif et php-cli installé., si ce n’est pas le cas utilisez la méthode 2 (plus fastidieuse) - Méthode 2 : ouvre le lien avec un navigateur et copier-coller manuellement le contenu à la fin de votre fichier .gitignore
Règles générales pour les projets PHP
Méthode 1 :
php -r "readfile('https://raw.githubusercontent.com/tbondois/gitignore/master/php.gitignore');">>.gitignore
ou Méthode 2 : voir le fichier
Si ce n’est pas le cas, il te suffit de copier manuellement l’url dans readfile('')
dans un navigateur et copier-coller tout le contenu dans votre fichier .gitignore.
Quelques lignes sont présentes mais commentées ; comme expliqué un peu plus haut, il s’agit des fichiers qui peuvent dans certains cas, vouloir être ignoré, donc à toi de les décommenter si c’est le cas.
Attention : git-ignorer le fichier .gitignore peut être déroutant pour tes collègues 🙂
Extensions spécifiques à quelques frameworks
En addition, tu dois rajouter ce qui est spécifique au framework de ton projet. Généralement, les frameworks te mettent à disposition un .gitignore très basique. En voici des versions plus évolués, tout en supprimant les redondances avec les lignes précédentes. A insérér à la suite :
Projets Symfony 2, 3, Silex, OroPlatform, AkeneoPIM
Méthode 1 :
php -r "readfile('https://raw.githubusercontent.com/tbondois/gitignore/master/symfony2.gitignore');">>.gitignore
ou Méthode 2 : voir le fichier
<
h3>Projets Laravel / Lumen
Méthode 1 :
php -r "readfile('https://raw.githubusercontent.com/tbondois/gitignore/master/laravel.gitignore');">>.gitignore
ou Méthode 2 : voir le fichier
Projets Magento 1
Deux configurations possible :
Solution A : Tu veux aussi versionner le noyau du framework dans ton projet :
Méthode 1 :
php -r "readfile('https://raw.githubusercontent.com/tbondois/gitignore/master/magento1.gitignore');">>.gitignore
ou Méthode 2 : voir le fichier
Solution B : Tu préféres exclure tous les fichiers du noyau et ne versionner que ton propre code :
Méthode 1 :
php -r "readfile('https://raw.githubusercontent.com/github/gitignore/master/Magento.gitignore');">>.gitignor
ou Méthode 2 : voir le fichier
Projets Magento 2
Méthode 1 :
php -r "readfile('https://raw.githubusercontent.com/tbondois/gitignore/master/magento2.gitignore');">>.gitignore
ou Méthode 2 : voir le fichier
WordPress 4
Méthode 1 :
php -r "readfile('https://raw.githubusercontent.com/tbondois/gitignore/master/wordpress4.gitignore');">>.gitignore
Méthode 2 : voir le fichier