Sur le serveur -------------- - Créer un dossier dans son public_html. Par convention, son nom se finira par ".git": mkdir -p public_html/git/test.git - cd public_html/git/test.git - git init --bare Le dépôt remote est maintenant créé. Il faut simplement le rendre accessible en http en rajoutant un hook. - vim hooks/post-receive On y met ce code: git update-server-info - On rend le fichier exécutable: chmod +x hooks/post-receive Le dépôt est maintenant accessible en http avec l'url http://example.com/~user/git/test.git En local -------- - On clone le dépôt en SSH pour pouvoir pusher ensuite: git clone user@example.com:public_html/git/test.git test - cd test - Le dépôt remote est nommé origin (nom standard pour son propre dépôt) - On ajoute les autres dépôt remote (ici upstream qui est le nom standard pour le dépôt principal du projet avec lequel on reste synchronisé pour la branche master): git remote add upstream - On récupère les branches du dépôt remote: git fetch upstream Il ne reste plus qu'à l'utiliser. Règle d'or pour garder une branche master synchronisé avec le dépôt upstream: On utilise d'autres branches pour développer Remarque: les tags servent pour les releases, pas pour autre chose car supprimer ou remplacer un tag est impossible (on le fait chez soi, pas chez les autres)