GIT

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

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 <file>..." 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 <benjamin@labomedia.net>
 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

  1. vérifier au préalable que l'on a déjà ajouté sa clef ssh publique sur gitourious (ssh key management sur gitourious)
  2. créer un nouveau projet sur gitourious (foufou)
  3. 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


foo = foobar = fucked up beyond all recognition