Utiliser Git pour gérer ses projets (mini mémo)

Petit mémo pour la gestion de projets via GIT, un gestionnaire de version (comme SVN, mais en mieux ;)).

Pour ma part, depuis que je suis passé à GIT, je ne me vois plus bosser sur un SVN ^^. Les principaux points positifs de l’utilisation de GIT par rapport à l’utilisation de SVN sont (pour moi) :

  • Le fait qu’un dossier peut contenir plusieurs autres projets sous gestionnaire de révision (assez difficile à maintenir en SVN)
  • Le commit local, qui permet de ne pas à avoir à tout envoyer au serveur dès que l’on fait de grosse modifications (et devoir faire un revert sur le serveur si c’est pas bon), et aussi la possibilité donc de dev sans connexion au net en profitant d’un gestionnaire de révision
  • Le système de mise en ligne simplifié des projets (pas d’architecture super lourde à déployer comme pour SVN avec les modules dav/svn).
  • Plein d’autre choses encore à venir 😉

Les diverses commandes à connaitre au début :

Création d’un dépot GIT
git init

Ajout de fichiers
git add nomFichier

Commit LOCAL
git commit -m "ici ma super description"

Commit sur serveur ( à faire après un ou plusieurs commit)
git push ssh://olol@kikoolol.lol/mondossier/gitrepo.git

Checkout des sources :
git clone http://git.kikoolol.lol/projets.git

Mise à jour du code :
git pull http://git.kikoolol.lol/projets.git

Publication d’un dépot (existant …) sur un serveur HTTP via SSH :
git clone --bare /dossier/du/projet
cd NomDuProjet.git
git update-server-info
cp hooks/post-update.sample hooks/post-update
scp -r ../NomDuProjet.git kikoo@kikoo.lol:/var/www/git/

De là, il sera possible d’y accéder directement en http et de faire des pulls dessus genre ici avec une config apache de base (dossier de publication : /var/www) : git pull http://kikoo.lol/git/NomDuProjet.git master

Par contre, un truc assez naze, lorsque l’on fait le push ou un pull, il faut toujours donner l’url (qui parfois peut être très long).
Genre pour :
git push ssh://loser@kikoo.lol/mon/dossier/de/publication.git master
on peut modifier le fichier ~/.gitconfig
et rajouter les lignes :

[remote "SSHUP"]
url = ssh://loser@kikoo.lol/mon/dossier/de/publication.git

qui permettra d’utiliser la commande suivante (à noter qu’on peut aussi le faire pour les pull) :
git push SSHUP master

On peut aussi passer par la commande git remote pour faire la même chose (à noter qu’il n’y a pas le : séparant le ndd des dossiers comme sur la commandes scp) :
git remote add origin ssh://loser@kikoo.lol/mon/dossier/de/publication.git
Qui permettra de faire un …
git push origin master

Sinon, un bon lien pour continuer : Le manuel utilisateur de kernel.org (faut pas avoir peur de la lecture).

A noter que l’on peut checkout un dépot SVN directement via git svn clone –trunk=http://depot.svn et … regarder la doc pour la suite 😉

Une réflexion sur « Utiliser Git pour gérer ses projets (mini mémo) »

Les commentaires sont fermés.