Créer un dépôt nu sur le serveur, le dossier mon-projet.git conteneur du projet sera créé automatiquement après validation de la commande suivante:
$ git init --bare mon-projet.git
pour pouvoir accéder au dépôt l'utilisateur doit avoir un compte sur le serveur et les droits de lecture/écriture sur le dépôt. On utilise ici le protocole ssh pour cloner le dépot du serveur sur la machine de dev.
$ git clone user@server:port/path/to/repo
Configurer les préférences git sur la machine de dev (nom utilisateur, signature). Créer le squelette du projet. Pour procéder au premier commit:
# Placer l'ensemble des fichiers dans l'index $ git add --all # Faire le premier commit avec signature $ git commit -S # Pousser les modifications sur le serveur distant $ git push origin master
Conserve des versions fonctionnelles du projet sur la branche master. Pour développer une nouvelle fonctionnalité, créer une branche expérimentale et développer dans la branche.
$ git checkout -b experimental
Récupérer les modification effectuées par
$ git fetch
Par défaut les branches locales ne sont pas poussées sur le serveur distant. Pour partager une branche locale, il faut le faire explicitement:
$ git push origin master
La commande précédente pousse les modifications apportées sur la branche master locale vers la branche origin/master
Pour partager une branche créée localement
git push origin ma-branche
Une fois le programme fonctionnel dans la branche expérimentale, on peut procéder à la fusion (merge) sur la branche master.
Lors de la fusion bien penser à ne pas utiliser le fast forward (comportement par défaut) en spécifiant l'argument --no-ff