mardi 11 août 2009

git ou comment j'en suis venu a travailler intelligement

Cela fait déja quelques temps que je recherche un gestionnaire de version pour travailler correctement. Comme je compte bosser un peu avec Heroku, j'ai pensé que travailler avec git semblais une bonne idée. Dans la suite de ce post je part du principe que vous savez ce qu'est un gestionnaire de version et que vous savez voue en servir.

Sur ubuntu, git s'installe avec un simple sudo apt-get install git-core
on peut le configurer avec les commandes :  
git config --global user.name "Votre nom"
git config --global user.email "Votre Mail"



Commandes de base



On clone un dépot comme cela :

git clone git://adresse.git
ou
git clone http://adresse_du_depot

pour créer un nouveau dépot, la commande est :
git init .

cette commande cré un nouveau dépot dans le répertoire courant. Cela permet quand on est comme moi un utilisateur unique qui souhaite garder un oeil sur l'évolution de ses projets de créer rapidement de nouveau dépots en fonction des projets en cours.

pour ajouter des fichiers au dépot il faut faire

git add "nom du fichier"

pour "commiter"

git commit

pour commiter les fichier du dépot qui ont été modifiés :

git commit -a




Les branches


Bon ok un gestionnaire de version c'est bien mais les branches c'est mieuX. git va nous permetttre de forker notre dossier de manière très simple :

création d'une nouvelle branche :

git branch nouvelle_branche

ensuite; pour passer d'une branche à une autre on a :

git checkout nom_de_la_branche

A savoir que la première branche est toujours Master.
 
pour fusionner deux branches :

git merge nom_de_la_branche


ce qui aura pour effet de merger la branche courante avec la branche nom_de_la_branche

si il y as des conflits, git va marquer les fichiers problématiques. Un git diff va vous montrer les différences entre les fichiers pour vous laisser corriger. Vous pouvez ensuite commiter vos changement. On peut ensuite supprimer la branche que l'on viens de merger avec :

git branch -d nom_de_la_branche
Si au contraire on veux supprimer une branche sans la merger avec la branche courante :

git branch -D nom_de_la_branche

annuler un merge avnt le commit :

git reset --hard HEAD


annuler un merge après le commit :

git reset --hard ORIG_HEAD

Voila pour démarrer avec git. Je vous conseille pour creuser plus loin le processus de lire http://alexgirard.com/git-book/book_fr.pdf

un livre de la communauté sur l'utilisation de git

Aucun commentaire: