GIT le mémo

GIT est un outil de versionnement de code source.

Préparation du poste client

Pour mettre un peu de couleurs dans le terminal :

git config --global color.diff auto git config --global color.status auto git config --global color.branch auto

Config du user :

git config --global user.name "Guillaume Seznec" git config --global user.email guillaume@seznec.fr

Pour ne pas avoir de warning ssl pour les certificats autosignés :

git config --global http.sslverify "false"

exemple de .gitconfig à mettre à la racine :

[user] name = Guillaume Seznec email = guillaume@seznec.fr [color] diff = auto status = auto branch = auto [alias] ci = commit co = checkout st = status br = branch [http] sslverify = false

Pour initialiser localement un dépôt git, aller dans le répertoire du projet puis :

git init

Préparation côté serveur

Serveur git : git.ouifm.fm Un utilisateur "git" a été créé

Créer un dépôt "central" qui servira de serveur :

cd /home/git mkdir depot.git cd depot.git git init --bare

--bare évite la création d'un dépôt local. Le repository ne sera utilisé qu'en tant que serveur.

Pour cloner un dépôt distant en local, on utilise la passerelle ssh :

git clone git@git.ouifm.fm:ios-radiolife .

Statut d'un dépot local :

git status

Ajouter un fichier au dépot :

git add fichier.jpg

Voir les différences :

git diff

Voir les branches locales et distantes d'un dépot local

git branch -a

Définir un serveur git distant pour un dépot local

git remote add origin git@git.ouifm.fm:ios-ouicollector.git

Commit (= local) d'un ensemble de différences

git commit . -m "mes modifications de fichiers"

Pusher les commits sur le serveur distant

git push origin master

"master" est le nom de la branche principale "origin" est le nom du dépôt distant par défaut

Tagger une version (ex: release application mobile)

git tag -a v1.3 -m "v1.3" git push --tags

lister les branches : (la branche active est étoilée)

git branch

créer une nouvelle branche nommée "toto"

git branch toto

passer dans une branche existante nommée "branch_name":

git checkout branch_name

créer une branche "branche_name" et y passer directement

git checkout -b branche_name

effacer une branche existante nommée "toto"

git branch -d toto

synchroniser la liste des branches distantes avec les locales

git fetch -p