L'essentiel de git

Les principales commandes de git pour un usage local ou avec un dépôt distant.

Installation

apt install git

Configuration global de git sur le système

Configurer l'utilisateur, son adresse email et l'éditeur de texte CLI utilisé par défaut :

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
git config --global core.editor "vim"

Utilisation

Utilisation basique

# creer un nouveau depot dans le repertoire courant
git init
# obtenir l'etat des fichiers
git status
# ajouter le fichier 'filename.txt' dans le suivi de version
git add filename.txt
# ou ajouter tout les fichiers ayant ete modifies/ajoutes dans le suivi de version
git add -A
# valider les modifications avec un message
git commit -m 'add sumarize'

Attention ! Si il y a des modifications dans les fichiers suivis (renommage, déplacement ou suppression) il faut utiliser git :

# renommer / deplacer
git mv filename.txt test.txt
# supprimer
git rm test.txt

Utilisation avec un dépôt distant

# initier un depot local a partir d'un depot distant (remplace le 'git init')
git clone git://github.com/schacon/grit.git
# recuperer les changements du depot distant sur la branche locale
git pull
# modificaitons [...]
# git add -A && git commit -m 'description'
# envoyer son travail sur le depot distant
git push 

Obtenir de l'aide

# obtenir de l'aide
git help
# obtenir de l'aide sur une sous-commande, ici 'git branch'
git help branch

Utilisation des branches

# creer une nouvelle branche 'new' et se placer dessus
# equivalent : git branch -b 'new' && git checkout new
git checkout -b 'new'
# changer de branche, ici 'master'
git checkout master
# fusionner la branche 'new' avec la branche courante ici 'master'
git merge new
# supprimer la branche 'new'
git branch -d new

Versionner son code source

Utiliser les étiquettes (tags) pour versionner son projet :

# lister les tags
git tags
# ajouter un tag, ici 'v2.0.3'
git tag -a v2.0.3 -m 'short description'
# supprimer un tag
git tag -d v2.0.3
# se positionner sur une version precise du code source
git checkout v2.0.1
# se positionner sur une version precise en creant une nouvelle branche
git checkout -b 'v1' v1.0.0

Avec un dépôt distant :

# partager les tags local sur le depot distant
git push --tags
# recuperer les tags depuis le depot distant
git pull --tags

D'autres commandes utiles

# voir l'historique des commits
git log
# voir les differences entre les commits et/ou les branches,
# ici la difference entre deux commits
git diff 765410 e66a80
# revenir dans un etat precedent,
# ici desindexer le fichier 'test.txt' apres un 'git add test.txt'
git reset HEAD test.txt
# annuler les modifications du fichier 'test.txt' dans la copie de travail
git checkout -- test.txt
# reappliquer les commits sur "le haut" d'une autre branche,
# ici les commits de la branch courante vont sur le 'master'
git rebase master
By @Mikael FLORA in
Tags : #système,