Git

$ mkdir git-easy; cd $_
$ git init
Dépôt Git vide initialisé dans .git/
$ 
$ mkdir git-easy; cd $_
$ git init
Dépôt Git vide initialisé dans .git/
$ git status
Sur la branche master

Aucun commit
$
$ mkdir git-easy; cd $_
$ git init
Dépôt Git vide initialisé dans .git/
$ git status
Sur la branche master

Aucun commit
$ code .

Nouveau fichier > README.md

# Une formation dont vous êtes le héros

Sauver

$ git status
Sur la branche master

Aucun commit

Fichiers non suivis:

README.md

Working dir

README.md
README.md

master

Working dir

Local repository

README.md

master

$ git add .
$ git status
Sur la branche master

Aucun commit

Modifications qui seront validées :
nouveau fichier : README.md

Working dir

Local repository

master

$ git commit -m "Ajout titre"
$ git status
Sur la branche master
rien à valider, la copie de travail est propre

Ajout titre

Working dir

Local repository

master

$ git log --oneline
fdda9cb (HEAD -> master) Ajout titre
 

Ajout titre

fdda9cb

Working dir

Local repository

README.md

master

# Une formation dont vous êtes le héros

## Aux abords du château
La forêt était sombre et humide.

 

Ajout titre

fdda9cb

Working dir

Local repository

README.md

master

Ajout titre

fdda9cb

Working dir

Local repository

$ git add .
$ git commit -m "Ajout sous-titre"

master

Ajout titre

fdda9cb

Working dir

Local repository

$ git add .
$ git commit -m "Ajout sous-titre"
$ git log --oneline
f0b8615 (HEAD -> master) Ajout sous-titre
fdda9cb Ajout titre
 

Ajout sous-titre

f0b8615

Branches

master

Ajout titre

fdda9cb

Working dir

Local repository

$ git checkout -b modifs-sf
$ git status
f0b8615 (HEAD -> modifs-sf, master) Ajout sous-titre
fdda9cb Ajout titre
 

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Working dir

# Une formation dont vous êtes le héros

## Aux abords du vaisseau
L'espace était sombre et froid.
 
README.md

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

$ git add .
$ git commit -m "Sci-Fi mode"
$ git log --oneline
caab7a9 (HEAD -> modifs-sf) Sci-Fi mode
f0b8615 (master) Ajout sous-titre
fdda9cb Ajout titre
 

Sci-Fi mode

caab7a9

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

# Une formation dont vous êtes le héros

## Aux abords du vaisseau
L'espace était sombre et froid.

## À la recherche du trésor...
Notre héros s'engouffra à travers le portail béant.
 
README.md

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

$ git add .
$ git commit -m "Chapitre 2"
$ git log --oneline
ff52d90 (HEAD -> modifs-sf) Chapitre 2
caab7a9 Sci-Fi mode
f0b8615 (master) Ajout sous-titre
fdda9cb Ajout titre
 

Chapitre 2

ff52d90

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

$ git checkout master
$ git log --oneline
f0b8615 (master) Ajout sous-titre
fdda9cb Ajout titre
 

Chapitre 2

ff52d90

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

# Une formation dont vous êtes le héros

## Aux abords du château
La forêt était sombre et humide.

## Pendant ce temps ...
Le nécromancien ourdissait son terrible plan.
 
README.md

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

$ git add .
$ git commit -m "Nécromancien"
$ git log --oneline
3866f61 (HEAD -> master) Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre
 

Nécromancien

3866f61

Rebase

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

$ git checkout modifs-sf
$ git log --oneline
ff52d90 (HEAD -> modifs-sf) Chapitre 2
caab7a9 Sci-Fi mode
f0b8615 (master) Ajout sous-titre
fdda9cb Ajout titre

Nécromancien

3866f61

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

$ git rebase master
$ git log --oneline
Fusion automatique de README.md
CONFLIT (contenu) : Conflit de fusion dans README.md
error: impossible d'appliquer caab7a9... Sci-Fi mode

Nécromancien

3866f61

README.md

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

<<<<<<< HEAD
## Aux abords du chateau
La forêt était sombre et humide.

## Pendant ce temps ...
Le nécromancien ourdissait son terrible plan.
=======
## Aux abords du vaisseau
L'espace était sombre et froid.
>>>>>>> caab7a9 (Sci-Fi mode)

Nécromancien

3866f61

README.md

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

## Aux abords du vaisseau
L'espace était sombre et froid.

## Pendant ce temps ...
L'intelligence artificielle suprême ourdissait son terrible plan.

Nécromancien

3866f61

README.md

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

Nécromancien

3866f61

README.md
$ git add .
$ git rebase --continue
Fusion automatique de README.md
CONFLIT (contenu) : Conflit de fusion dans README.md
error: impossible d'appliquer ff52d90... Chapitre 2

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

Nécromancien

3866f61

README.md
<<<<<<< HEAD
## Pendant ce temps ...
L'intelligence artificielle suprême ourdissait son terrible plan.
=======
## À la recherche du trésor...
Notre héros s'engouffra à travers le portail béant.
>>>>>>> ff52d90 (Chapitre 2)

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

Nécromancien

3866f61

README.md
## Pendant ce temps ...
L'intelligence artificielle suprême ourdissait son terrible plan.

## À la recherche du trésor...
Notre héros s'engouffra à travers le portail béant.

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

caab7a9

Chapitre 2

ff52d90

Nécromancien

3866f61

$ git add .
$ git rebase --continue
Rebasage et mise à jour de refs/heads/modifs-sf avec succès.

Nécromancien

3866f61

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

088fc82

Chapitre 2

149a51c

Nécromancien

3866f61

$ git log --oneline
149a51c (HEAD -> modifs-sf) Chapitre 2
088fc82 Sci-Fi mode
3866f61 (master) Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Nécromancien

3866f61

Rebase interactif

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

088fc82

Chapitre 2

149a51c

Nécromancien

3866f61

$ git rebase -i 3866f61

Nécromancien

3866f61

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

088fc82

Chapitre 2

149a51c

Nécromancien

3866f61

pick 088fc82 Sci-Fi mode
pick 149a51c Chapitre 2

Nécromancien

3866f61

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

088fc82

Chapitre 2

149a51c

Nécromancien

3866f61

pick 088fc82 Sci-Fi mode
squash 149a51c Chapitre 2

Nécromancien

3866f61

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

088fc82

Chapitre 2

149a51c

Nécromancien

3866f61

# Ceci est la combinaison de 2 commits.
# Ceci est le premier message de validation :

Sci-Fi mode

# Ceci est le message de validation numéro 2 :

Chapitre 2

Nécromancien

3866f61

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode

088fc82

Chapitre 2

149a51c

Nécromancien

3866f61

# Ceci est la combinaison de 2 commits.

Sci-Fi mode + chapitre 2

Nécromancien

3866f61

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode + ch...

282db07

Nécromancien

3866f61

Nécromancien

3866f61

$ git log --oneline
282db07 (HEAD -> modifs-sf) Sci-fi mode + chapitre 2
3866f61 (master) Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode + ch...

282db07

Nécromancien

3866f61

Nécromancien

3866f61

$ git checkout master
$ git rebase -i modifs-sf
$ git log --oneline
282db07 (HEAD -> master, modifs-sf) Sci-fi mode + chapitre 2
3866f61 (master) Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

modifs-sf

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Sci-Fi mode + ch...

282db07

Nécromancien

3866f61

Nécromancien

3866f61

$ git checkout master
$ git rebase -i modifs-sf
$ git log --oneline
282db07 (HEAD -> master, modifs-sf) Sci-fi mode + chapitre 2
3866f61 (master) Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git branch
* master
  modifs-sf
$ git branch -d modifs-sf
Branche modifs-sf supprimée (précédemment 282db07).
$ git branch
* master

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git branch
* master
  modifs-sf
$ git branch -d modifs-sf
Branche modifs-sf supprimée (précédemment 282db07).
$ git branch
* master

Sci-Fi mode + ch...

282db07

Remotes

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git remote add origin git@github.com:SebQuenet/git-easy.git
$ git remote -v
origin  git@github.com:SebQuenet/git-easy.git (fetch)
origin  git@github.com:SebQuenet/git-easy.git (push)

Sci-Fi mode + ch...

282db07

Remote repository

origin/

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git push --set-upstream origin master

Sci-Fi mode + ch...

282db07

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

Working dir

$ cd ..; rm -Rf git-easy

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git clone git@github.com:SebQuenet/git-easy.git
$ cd git-easy
$ git log --oneline
282db07 (HEAD -> master, origin/master, origin/HEAD) Sci-fi mode + chapitre 2
3866f61 Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Sci-Fi mode + ch...

282db07

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

[...]

## À la recherche du trésor...
Notre héros s'engouffra à travers le portail béant.

## Une atmosphère inquiétante
Régulièrement, des bruits de créatures rompaient le silence

Sci-Fi mode + ch...

282db07

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

README.md

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git add .
$ git commit --amend

Sci-Fi mode + ch...

282db07

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

README.md

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + chapitres suivants

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git log --oneline
d4db59c (HEAD -> master, origin/master, origin/HEAD) Sci-fi mode + chapitres suivants
3866f61 Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git status
Sur la branche master
Votre branche et 'origin/master' ont divergé,
et ont 1 et 1 commits différents chacun respectivement.
  (utilisez "git pull" pour fusionner la branche distante dans la vôtre)

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git push
To github.com:SebQuenet/git-easy.git
 ! [rejected]          master -> master (non-fast-forward)
error: impossible de pousser des références vers 'github.com:SebQuenet/git-easy.git'

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git push --force-with-lease
To github.com:SebQuenet/git-easy.git
 + 282db07...d4db59c master -> master (forced update)

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

Etats détachés

Working dir

282db07

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git checkout 282db07
Note: basculement sur '282db07'.

Vous êtes dans l'état « HEAD détachée ». (...)

Sci-Fi mode + ch...

282db07

Working dir

282db07

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git log --oneline
282db07 (HEAD) Sci-fi mode + chapitre 2
3866f61 Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Sci-Fi mode + ch...

282db07

Working dir

backup-chapitre-2

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git switch -c backup-chapitre-2
Basculement sur la nouvelle branche 'backup-chapitre-2'
$ git log --oneline
282db07 (HEAD -> backup-chapitre-2) Sci-fi mode + chapitre 2
3866f61 Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Sci-Fi mode + ch...

282db07

Working dir

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

$ git checkout master
$ git merge backup-chapitre-2
$ git log --oneline
8347e71 (HEAD -> master) Merge branch 'backup-chapitre-2'
d4db59c Sci-fi mode + chapitres suivants
282db07 (backup-chapitre-2) Sci-fi mode + chapitre 2
3866f61 Nécromancien
f0b8615 Ajout sous-titre
fdda9cb Ajout titre

Sci-Fi mode + ch...

282db07

Sci-Fi mode + ch...

d4db59c

Merge branch 'b...

8347e71

Working dir

$ git reset --hard origin/master
HEAD est maintenant à d4db59c Sci-Fi mode + chapitres suivants

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

Reset

Working dir

$ git reset --hard origin/master
HEAD est maintenant à d4db59c Sci-Fi mode + chapitres suivants

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

master

Ajout titre

fdda9cb

Local repository

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c

Remote repository

origin/master

Ajout titre

fdda9cb

Ajout sous-titre

f0b8615

Nécromancien

3866f61

Sci-Fi mode + ch...

d4db59c