Outils pour utilisateurs

Outils du site


command-line:git

Ceci est une ancienne révision du document !


Git

Quelques rappels de base sur l'utilisation du gestionnaire de version Git.

Note : les principaux éléments indiqués ici sont déstinés à une utilisation sous Windows avec le shell msysGit. Cela signifie que les lignes de commande seront “linux-style”, mais que les chemin et logiciels utilisés seront “windows-style”.

Général

Configurer Git

Configurer son environnement :

# modifier la configuration pour tous les utilisateurs
git config --system <clé> <valeur>
# modifier la configuration pour l'utilisateur connecté
git config --global <clé> <valeur>
# modifier la configuration pour le projet courant
git config          <clé> <valeur>

Lire la configuration :

# consulter la configuration
git config          <clé>
# consulter tous les éléments de configuration
git config --list

Configurations utiles (celles à faire avant d'utiliser git) :

git config --global user.name   "Name"
git config --global user.email  name@domain.com
 
git config --system https.proxy http://<proxy-url>:<proxy-port>
//or
git config --system https.proxy http://<login>:<password>@<proxy-url>:<proxy-port>

Aide

git help <command>

Projet

Note : toutes les commandes relatives à un projet doivent être effectuée après s'être placé dans le dossier du projet

cd /to/the/source/directory
#les lecteurs "windows" sont indiqués par /d/ au lieu de D:\ dans le bash de git
cd /d/project-directory/source-directory

Configurer un projet

Initialiser le projet (créé un sous-dossier “.git”) :

git init

Nouveau projet

“Ajouter” chaque fichier source qu'on veut versionner à git :

git add <filepattern>

Exemples :

git add fichier.c
git add *.c
git add *

Note : sauf erreur de ma part, '*' ne prend pas en compte les sous-répertoires et leurs contenus.

Projet existant

Pour partir d'un projet déjà présent dans un repository git (local ou distant) :

git clone <local-path>/<project>.git
git clone git://<git-url>/<project>.git
git clone http(s)://<url>/<project>.git

Note : un dossier <project> sera créé. Il faut donc se placer dans le dossier parent de celui où on voudra placer les sources.

Informations

Pour connaître l'état d'un fichier (untracked, modified, staged, etc…) :

git status

Pour avoir des informations plus détaillées :

git diff           #compare your version with your staged version
git diff --cached  #compare your staged version and the last commited version
git diff --staged  #same as --cached

Préparer un commit

Marquer un fichier comme prêt à être commité suite à modification se fait aussi via la commande git add. Il sera alors considéré comme “staged”.

Si on “git add” plusieurs fois d'affilé un même fichier (suite à des modifs), seule la dernière version est conservée, tandis que si on effectue un commit à chaque fois, alors toutes les versions seront dans le repository.

Ignorer des fichiers

Pour exclure certains fichiers ou types de fichiers de nos commit, il faut créer un fichier .gitignore et y lister les éléments à exclure.

file.ext
/README         #ignore the root README, but not ones in subdirectories
*.doc
!test.doc       #exception for rules listed above : test.doc will NOT be ignored
thisDirectory/  #...and everything in it
#or any glob syntax, including: [aoe], [0-9], *, ?

Commit

Une fois les modifications “staged”, on peut enfin commiter, c'est-à-dire transmettre cette version “staged” au repository (qu'il soit local ou distant).

git commit
git commit -v              #verbose: shows the diff while you write the comment
git commit -m "Message..." #to write the commit comment directly in command-line
git commit -a              #skips the staged area and commit directly your version

Un fichier texte s'ouvre dans l'éditeur de texte défini par défaut dans la config de git, pour permettre la saisie du commentaire du commit.

git config --global core.editor "'C:\Program Files\Sublime Text 2\sublime_text.exe' -w"

…pour définir Sublime Text 2 comme éditeur par défaut.

command-line/git.1360331593.txt.gz · Dernière modification : le 08/02/2013 à 13:53 de Yosko