---
# System prepended metadata

title: Git init...iation

---

# Git init...iation
### Toute première fois : `git config`
* Configurer le nom:
    * `git config --global user.name "John Doe"`
* Configurer l'email:
    * `git config --global user.email johndoe@example.com`
* Configurer l'éditeur par défaut
    * `git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe'"`
* Installer une paire de clef
    * `ssh-keygen -t rsa`
    * transférer id_rsa.pub sur votre compte gitlab pour chacune de vos machines

### Cloner un projet git
`git clone addresseDeRepository`

### Initialiser un nouveau projet local
`git init`

### Créer / changer de branche
La branche par défaut est `master`.
`git branch maNouvelleBranche`
`git checkout maNouvelleBranche`

### Enregistrer son travail
`git commit -am "mon travail qui fait ceci #4999"`
* l'option `a` dans `-am` signifie "all": tous les fichiers trackés sont inclus dans le commit.
* l'option `m` préfixe le message de commit.

### Envoyer un travail vers le repository
`git push`

### Ajouter des nouveaux fichiers / Commiter seulement une selection de fichiers
`git add monFichier1 monFichier2 monFichier3`
`git commit -m "commit seulement monFichier1 monFichier2 monFichier3`

### Voir les modifications actuelles / Où en suis-je ?
`git status`

### Voir l'historique et l'arborescence des modifications
`gitk`

### Enregistrer par dessus/corriger le commit précédent
`git commit --amend`
* l'option -a est toujours valable.

### Ecraser la branch distante après une modification de commit
`git push --force`

### Récupérer les travaux distants lorsque mon repo est 'clean'
`git pull`

### Installer mon travail local par dessus les travaux distants
`git pull --rebase`
**Préférez cette méthode** pour éviter les historiques pleines de croisement (`merge`).

### Gérer les conflits
`git status` montre les fichiers en conflit et les commandes à appliquer pour finir la procédure. Pour un `git pull --rebase` on corrige les conflits avec n'importe quel editeur de code, on ajoute les fichiers corrigés `git add fichierCorrigé1` et on poursuit la procédure `git rebase --continue`

### Enregistrer un brouillon
`git stash` toutes les modifications trackées sont sauvegardées dans un brouillon. Le repo revient au commit précédent.

### Réinstaller le brouillon
`git stash pop` Les modifications en cours sont réinstallées sur mon travail local.