======GIT====== ===== Intro ===== **GIT est un système de gestion de version distribué**, à chaque changement, un "commit"\\ il faut mettre un tag, une étiquette pour identifier la version publiée GIT est à la fois un serveur local qui peut être exporter sur des plateformes type https://gitorious.org ou https://github.com/ ===== Syntaxe et commandes de base =====  git la-commande plus-des-options ==== Configurer son environnement global ====  git config --global user.name "Benjamin CADON" // on met son "vrai" nom et pas le loggin sur gitourious  git config --global user.email benjamin@labomedia.net  vim .gitconfig // pour voir sa config ==== Initialiser un dépot ====  benjamin@b01-laptop:~$ mkdir foo  benjamin@b01-laptop:~$ cd foo  benjamin@b01-laptop:~/foo$ git init  Initialized empty Git repository in .git/ ==== Créer un fichier et le commettre ====  benjamin@b01-laptop:~/foo$ touch toto  benjamin@b01-laptop:~/foo$ git add toto  benjamin@b01-laptop:~/foo$ git status // pour savoir s'il y a des modifs  # On branch master  #  # Initial commit  #  # Changes to be committed:  #   (use "git rm --cached  ..." to unstage)  #  # new file: toto  # **On "commit"**  git commit **remplir le fichier d'étiquette pour ce commit et enregistrer**  git log  commit f87799b7f917a0a2a505bb4bd83acc3b889ad2fd  Author: Benjamin CADON   Date:   Thu Aug 4 18:13:55 2011 +0200    toto upload 01 **on modifie le fichier toto**  git add // pour signaler que l'on veut uploader le fichier modifié  git commit -m "nouveau toto tout beau"  git log ==== Changer de branche dans GIT ====  git checkout f87799b7f917a0a2a505bb4bd83acc3b889ad2fd // reviens à la version précédente  git checkout -b nouvelle_branche // pour créer une nouvelle branche  git checkout master // pour revenir dans la branche principale on fait une branche lorsque l'on veut tester une fonctionnalité dans une logique expérimentale, il faut ensuite "merger" ==== Pousser un projet sur Gitourious ==== - vérifier au préalable que l'on a déjà ajouté sa clef ssh publique sur gitourious (ssh key management sur gitourious) - créer un nouveau projet sur gitourious (foufou) - créer un nouveau repository (repofou) ensuite : Pushing your local repository to Gitorious  git checkout master  git remote add origin git@gitorious.org:foufou/repofou.git  git push origin master ==== Ajouter le contenu d'un répertoire de son disque sur Gitorious ====  git init  git add  git commit  git remote add origin git@gitorious.org:monprojet/mondepot.git  git push origin master ==== Commandes supplémentaires ====  git log  git help log  git remote -v ===== GIT en interface graphique ===== * GitEye mais n'est pas entièrement libre ===== Références complémentaires ===== * http://wiki.dataflow.ws/git //foo = foobar = fucked up beyond all recognition// {{tag> autres_logiciels bj git }} ===== Voir aussi ===== * [[git_pour_aller_plus_loin|GIT pour aller plus loin]] * [[git_publier_sur_github_pour_les_nuls|GIT Publier sur GitHub pour les nuls]] * [[git-de-facon-collaborative|GIT en travail collaboratif sur un dépôt unique]]