====== Utilisation de Git/GitHub ======
Dans la page [[fr:devel|Développer et Contribuer]] pour **Actionaz** nous avons donné les commandes minimales pour mettre en place un 'repository' clone d'**Actionaz** sur GitHub et décrit comment configurer **Git** pour dupliquer les sources localement dans son environnement de développement.
Maintenant ce n'est qu'un point de départ, la gestion de version soulevant bien d'autres problèmes. Cette page veut :
- répondre aux questions basiques liées à la manipulation d'un repository Git
- donner des liens utiles vers des ressources Web permettant de mieux appréhender la manipulation des outils Git/GitHub
===== Premières questions à propos de Git/GitHub =====
* __Ramener une copie en local depuis mon 'repository' GitHub :__
$ git clone git@github.com:/actionaz.git
* __Mettre à jour depuis ma copie locale mon 'repository' GitHub :__
Ca y est. J'ai modifié mes premiers fichiers source, j'ai compilé, ça marche, j'ai pu ajouter ma nouvelle fonctionnalité. Alors il est temps de pousser cette version sur GitHub
$ git commit -a -m "la description du commit"
$ git push
* __Créer une nouvelle branche__
la commande ci-dessous crée une branche à partir de la branche courante :
git checkout -b newbranch
* __Cela fait 6 mois que j'ai //forké// **actionaz**, j'ai pu faire une première contribution, mais je reviens après 5 mois d'inactivité, et pendant ce temps là le développement d'actionaz a continue. Comment remettre simplement mon 'repository' GitHub à jour ?__
vu sur [[http://www.croes.org/gerald/blog/synchroniser-son-fork-github-avec-le-projet-original/551/]]
#Récupérez une copie de votre propre fork en local
$ git clone git@github.com:/actionaz.git
#Ajoutez à votre fork le remote du projet d'origine
$ git remote add projet_original_master git://github.com/Jmgr/actionaz.git
#Mettez à jour votre fork en local
$ git fetch projet_original_master
#Fusionnez (merge) maintenant votre copie locale avec le projet d'origine
$ git checkout master
$ git merge projet_original_master/master
#Validez vos changements
$ git commit -a -m "Synchronisation avec le projet original"
#Envoyez vos changements sur github
$ git push
* __Enregistrer ses modifications dans une branche spécifique__
$ git status
$ git add
$ git commit -m "mon commentaire"
$ git status
$ git push origin
* __Récupérer un fichier spécifique d'une autre branche__
git checkout otherbranch myfile.txt
===== Ressources Web pouvant être utiles =====
//(elles ne manquent pas !)//
* [[http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/|(fr) Git pour les nuls]] / [[http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/|(en) Git for the n00b]]
* [[http://rogerdudler.github.com/git-guide/index.fr.html|(fr) Git - petit guide]] / [[http://rogerdudler.github.com/git-guide/index.html|(en) Git - the simple guide]]
* [[http://www.zeitoun.net/articles/git-memo/start|(fr) Pense-bête git]]
* [[http://www.alexgirard.com/git-book/index.html|(fr) The Git Community Book]]
* [[http://git-scm.com/book/fr|(fr) Git - Book]] / [[http://git-scm.com/book| (en) Git - Book]]
* [[http://gitimmersion.fr/|(fr) Git Immersion]]
----
Retour à la page : [[fr:devel|Développer et Contribuer]]
Autres langues pour cette page : [[en:devel:git_github|(en)]]