Git (gestion de versions décentralisée)

  • Installer Git:

apt-get install git-core git

  • Configurer  Git:

git config --global user.name "user"

git config --global user.email "adresse_email"

git config --global color.diff auto

git config --global color.status auto

git config --global color.branch auto

  • Pour créer un nouveau dépôt

# git init

Initialized empty Git repository in /repertoire/.git/

  • Ajouter un fichier à l’index:

git add nom_fichier

  • Faire un commit qui décrit la mise à jour de votre fichier

git commit -m "description nom_fichier"

[master 10397f9] description nom_fichier
1 file changed, 1 insertion(+)
create mode 100644 nom_fichier

  • Pour afficher les fichiers modifiés

git status

Exemple (aucun fichier modifié)

# On branch master
nothing to commit (working directory clean)

Exemple (fichier modifié)

# On branch master
# Changes not staged for commit:
# (use "git add <file>…" to update what will be committed)
# (use "git checkout — <file>…" to discard changes in working directory)
#
# modified: nom_fichier
#
no changes added to commit (use "git add" and/or "git commit -a")

  • Pour afficher les modifications :

git diff  (si la mise à jour n’est pas effectuée)

ou bien:

git diff sha_commit1 sha_commit2

ou bien:

git diff  branch_name1 branch_name2

Exemple:

diff --git a/nom_fichier b/nom_fichier
index 12bc365..b85c484 100644
--- a/nom_fichier
+++ b/nom_fichier
@@ -1 +1,2 @@
ligne1
+ligne2

  • Pour mettre à jour un fichier:

git commit -a -m "description nom_fichier"

  • Pour afficher la liste de tous les commits:

git log

Exemple:

commit 82b60b80c24f544c5d7a0615266c089977fbe9a8
Author: user <adresse_email>
Date: Tue Feb 27 18:25:37 2018 +0100

description1 nom_fichier

commit 10397f93449c52e6b40e912906c24999f635bde7
Author: user <adresse_email>
Date: Tue Feb 27 18:18:14 2018 +0100

description2 nom_fichier

  • Pour se positionner sur un commit donné

git checkout sha_commit

Exemple:

git checkout 82b60b80c24f544c5d7a0615266c089977fbe9a8
Note: checking out '82b60b80c24f544c5d7a0615266c089977fbe9a8'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b new_branch_name

HEAD is now at 82b60b8… description1 nom_fichier

  • Pour revenir à la branche principale appelée "master"

git checkout master

  • Pour créer une branche:

git checkout -b new_branch_name

  • Pour voir la liste des branches:

git branch