-----
isHidden: false
menupriority: 3
kind: article
created_at: 2009-11-12T11:39:54+02:00
title: Git pour les nuls
author_name: Yann Esposito
author_uri: yannesposito.com
subtitle: Utiliser git avec quelques commandes simples
-----
# Et c'est parti !
Voici une parmi de nombreuses autres façon d'utiliser [Git][git]. Cette méthode est nécessaire et suffisante pour travailler seul ou en collaboration sur un projet commun. Cependant, on peut faire beaucoup mieux avec [Git][git] que ce *workflow* (en langage anglo-saxon).
## Utilisation basique
La façon immédiate de travailler avec [Git][git] :
+ récupérer les modifications des autres `git pull`
+ voir les détails de ces modifications `git log`
+ Plusieurs fois:
+ *Faire une modification atomique*
+ verifier le details de ses modifications `git status` et `git diff`
+ indiquer si nécessaire que de nouveaux fichiers doivent être *versionnés* `git add [file]`
+ enregistrer ses modifications
`git commit -a -m "message"`
+ envoyer ses modifications aux autres `git push` (refaire un `git pull` si le push renvoie une erreur).
Voilà, avec ces quelques commandes vous pouvez utiliser [Git][git] sur un projet avec d'autres personnes. Même si c'est suffisant, il faut quand même connaître une chose avant de se lancer ; la gestion des *conflits*.
### Gestion des conflits
Les conflits peuvent survenir lorsque vous modifiez les même lignes de codes sur le même fichier d'une autre branche que vous *mergez*. Ça peut sembler un peu intimidant, mais avec [Git][git] ce genre de chose est très facile a régler.
#### exemple
Vous partez du fichier suivant :
Zoot
Zoot the pure
Zoot, just Zoot
$ git pull
remote: Counting objects: 5, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /home/e640846/tmp/conflictTest
d3ea395..2dc7ffb master -> origin/master
Auto-merging foo
CONFLICT (content): Merge conflict in foo
Automatic merge failed; fix conflicts and then commit the result.
<<<<<<< HEAD:foo Zoot the pure ======= Zoot, just Zoot >>>>>>> 2dc7ffb0f186a407a1814d1a62684342cd54e7d6:foo
Zoot the not so pure
git commit -a -m "conflict resolved"