Voici une mini introduction permettant de créer un repository git pour un projet SF2. Rien d’exhaustif ici, juste le strict nécessaire.
Il existe une page dans le « cookbook » qui donne de très nombreuses indications:
http://symfony.com/doc/current/cookbook/workflow/new_project_git.html
La première partie concerne la création d’un fichier .gitignore à la racine de notre projet. Ce fichier a pour but de lister les ressources que nous ne souhaitons pas versionner avec git.
/web/bundles/ /app/bootstrap* /app/cache/* /app/logs/* /vendor/ /app/config/parameters.ini /nbproject/
Comme dit dans un précédent billet, je travaille avec netbeans et je stocke la configuration de netbeans dans le répertoire du projet. C’est pourquoi j’exclue cela avec la dernière ligne de la configuration.
Une bonne pratique consiste aussi à donner aux éventuelles co-développeur une copie des fichiers spécifiques au poste de développement (ou au serveur de déploiement) sans pour autant les laisser gérer par git: ils peuvent contenir des informations sensibles (login et mot de passe) qui ne doivent pas être communiquées ou bien qui sont différentes sur chaque poste et ne doivent pas être écrasés par git.
Nous allons prendre comme exemple parameters.ini qui contient entre autre les paramètres de connexion à la base de données. Nous allons copier ce fichier et nommer la copie « app/config/parameters.ini.dist ». Prenons soin de mettre des infos génériques à la place des valeurs sensibles et ensuite laissons git le gérér. Ce fichier pourra alors être copié par les autres développeurs et mis à jour localement sans risque d’écrasement futur.
Maintenant, créons le repository à la racine du projet:
git init
Ajoutons l’ensemble des fichiers:
git add .
Et créons le commit inital:
git commit -m "Premier commit"
Notre projet est désormais sous le contrôle de git.
I like it so far. I’ll keep using it for now. I like the simplicity of just using the coonsle for my git activities, but the interface definitely gives more accessible info especially when getting into histories and such.