Git
Utilisation quotidienne
Sylvain Witmeyer
À qui s’adresse cette formation ?
Ceux qui utilisent Git quotidiennement
Ceux qui veulent mieux comprendre comment fonctio...
Git, ça sert à quoi ?
D’après le site officiel http://git-scm.com/
A VCS (Version Control System) allows you to:
● revert ...
Qu’est ce qu’on peut versionner
● du code source
● des fichiers de configuration
● des documents textes
● n’importe quel d...
Images issues de http://fr.openclassrooms.com/
Un logiciel de versionning distribué
Centralisé Distribué Dans la vraie vie
Architecture de Git
Working directory / Workspace
contient les fichiers sur lesquels je travaille
Staging area / Index
zon...
Git init
Transforme un dossier en
dépôt Git localement
Crée un sous-dossier .git
contenant la
configuration du dépôt
TOUT ...
Git clone
Récupère un dépôt distant
Initialise le dépôt en local
Mémorise l’adresse du
dépôt distant
Git status
Affiche l’état du
workspace et du
staging area
Git add
Ajoute les fichiers que
l’on veut versionner
dans le staging area
Les fichiers ne sont pas
encore sauvegardés
Git commit
Créé un “snapshot”
Ajoute toutes les modifications
dans l’historique
Identifié par un code unique (sha1)
non sé...
Git branch
Une branche permet de
développer/tester de nouvelles
fonctions sans rien casser
Master est la branche principal...
Git checkout
déplace le pointeur HEAD
Permet de se déplacer entre
les différentes branches
Permet aussi de se déplacer
dan...
Git log
donne l’historique
des commits
Git tag
Attribue une étiquette à
un commit
Permet de revenir
facilement à une
version précise
Git push
Envoie ses
derniers commits
locaux
-u upstream : lie
les branches
distantes aux
branches locales
Git fetch + Git merge = Git Pull
Récupère les derniers
commits distants
Intègre ces commits
dans le dépôt local
>git pull ...
Git rebase
Réécrit l’historique
des commits
Supprime les
anciens commits
Merge
Rebase
Git reset
Permet de repositionner HEAD sur
des anciens commits
--soft : index et working tree
inchangé
--mixed : index RAZ...
Git revert
recrée des
commits pour
pour revenir
jusqu’à un commit
particulier
Git diff
Affiche les différences
entre 2 commits, 2
branches, entre le
dernier commit et le
workspace etc ...
Git stash
Stock temporairement les
modifications du staging
area sans créer de
commit
Possibilité d’avoir plusieurs
“stash”
Résumé
Image issue de http://nbviewer.ipyhton.org
Gérer les conflits
Impossible de faire un push si des fichiers
distants ont divergé du dépôt local
On traite toujours les ...
.gitconfig
Fichier surchargeable définissant les configurations de Git
● Global (~/.gitconfig): Définit les configurations...
HEAD - origin - master
HEAD : pointeur sur le dernier commit
Origin : Dépôt distant par défaut
Master : Branche principale...
.gitignore
Contient les fichiers et les chemins qu’il ne faut pas versionner
logs, caches, config locales, les fichiers te...
Fork et Pull Request (PR)
Pas de droits en écriture sur des dépôts officiels
Fork = dupliquer un dépôt officiel pour pouvo...
Pour découvrir git
https://try.github.io/
http://rogerdudler.github.io/git-guide/index.fr.html
http://pcottle.github.io/le...
Questions ?
@switmeyer sylwit sylvainwitmeyer
Prochain SlideShare
Chargement dans…5
×

Git utilisation quotidienne

1 549 vues

Publié le

Formation sur l'utilisation quotidienne de GIT. Découvrez les principes de GIT ainsi que les commandes de base.

Publié dans : Internet
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 549
Sur SlideShare
0
Issues des intégrations
0
Intégrations
38
Actions
Partages
0
Téléchargements
63
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Git utilisation quotidienne

  1. 1. Git Utilisation quotidienne Sylvain Witmeyer
  2. 2. À qui s’adresse cette formation ? Ceux qui utilisent Git quotidiennement Ceux qui veulent mieux comprendre comment fonctionne Git Ceux qui veulent comprendre les commandes de base
  3. 3. Git, ça sert à quoi ? D’après le site officiel http://git-scm.com/ A VCS (Version Control System) allows you to: ● revert files back to a previous state, ● revert the entire project back to a previous state, ● review changes made over time, ● see who last modified something that might be causing a problem, ● who introduced an issue and when, ● and more…
  4. 4. Qu’est ce qu’on peut versionner ● du code source ● des fichiers de configuration ● des documents textes ● n’importe quel document non binaire (zip, mp3, avi)
  5. 5. Images issues de http://fr.openclassrooms.com/ Un logiciel de versionning distribué Centralisé Distribué Dans la vraie vie
  6. 6. Architecture de Git Working directory / Workspace contient les fichiers sur lesquels je travaille Staging area / Index zone temporaire de préparation avant de commiter Repository contient tous les fichiers, l’historique et la configuration du projet Commit c’est un snapshot - sauvegarde d’un état de plusieurs fichiers à un moment donné
  7. 7. Git init Transforme un dossier en dépôt Git localement Crée un sous-dossier .git contenant la configuration du dépôt TOUT le projet git sera contenu dans ce dossier
  8. 8. Git clone Récupère un dépôt distant Initialise le dépôt en local Mémorise l’adresse du dépôt distant
  9. 9. Git status Affiche l’état du workspace et du staging area
  10. 10. Git add Ajoute les fichiers que l’on veut versionner dans le staging area Les fichiers ne sont pas encore sauvegardés
  11. 11. Git commit Créé un “snapshot” Ajoute toutes les modifications dans l’historique Identifié par un code unique (sha1) non séquentiel comme SVN Le message doit indiquer ce que contient le commit --amend : modifie le dernier commit
  12. 12. Git branch Une branche permet de développer/tester de nouvelles fonctions sans rien casser Master est la branche principale. Elle devrait toujours contenir un code fonctionnel. Crée une nouvelle branche “dev” contenant tout l’historique de la branche master > git checkout -b dev
  13. 13. Git checkout déplace le pointeur HEAD Permet de se déplacer entre les différentes branches Permet aussi de se déplacer dans l’historique des commits > git checkout 92b1325
  14. 14. Git log donne l’historique des commits
  15. 15. Git tag Attribue une étiquette à un commit Permet de revenir facilement à une version précise
  16. 16. Git push Envoie ses derniers commits locaux -u upstream : lie les branches distantes aux branches locales
  17. 17. Git fetch + Git merge = Git Pull Récupère les derniers commits distants Intègre ces commits dans le dépôt local >git pull origin master
  18. 18. Git rebase Réécrit l’historique des commits Supprime les anciens commits Merge Rebase
  19. 19. Git reset Permet de repositionner HEAD sur des anciens commits --soft : index et working tree inchangé --mixed : index RAZ et working tree inchangé (défaut) --hard : index et working tree RAZ
  20. 20. Git revert recrée des commits pour pour revenir jusqu’à un commit particulier
  21. 21. Git diff Affiche les différences entre 2 commits, 2 branches, entre le dernier commit et le workspace etc ...
  22. 22. Git stash Stock temporairement les modifications du staging area sans créer de commit Possibilité d’avoir plusieurs “stash”
  23. 23. Résumé Image issue de http://nbviewer.ipyhton.org
  24. 24. Gérer les conflits Impossible de faire un push si des fichiers distants ont divergé du dépôt local On traite toujours les conflits en local et on commit git pull > correction des conflits > git push
  25. 25. .gitconfig Fichier surchargeable définissant les configurations de Git ● Global (~/.gitconfig): Définit les configurations globales pour un utilisateur ● System (/etc/.gitconfig): Peu utilisé. Contient les configurations globales pour tous les utilisateurs de l’ordinateur ● Local (~/Projects/this-project/.gitconfig): Au niveau du dépôt. Contient les configurations propres au dépôt. Si ce fichier est commité, il impactera tous les utilisateurs qui travailleront sur ce dépôt. !!! Plein d’exemples dans les gists !!!
  26. 26. HEAD - origin - master HEAD : pointeur sur le dernier commit Origin : Dépôt distant par défaut Master : Branche principale par défaut HEAD^ = HEAD~1 : dernier commit HEAD~2 : avant dernier commit
  27. 27. .gitignore Contient les fichiers et les chemins qu’il ne faut pas versionner logs, caches, config locales, les fichiers temporaires #eclipse .buildpath .project .settings .externalToolBuilders application/config/config.user.ini composer.phar caches/* *~ *.DS_Store !caches/README
  28. 28. Fork et Pull Request (PR) Pas de droits en écriture sur des dépôts officiels Fork = dupliquer un dépôt officiel pour pouvoir écrire dessus Pull Request = proposer au propriétaire du dépôt officiel une correction/amélioration depuis notre dépôt fork Le propriétaire peut “merger” simplement notre patch
  29. 29. Pour découvrir git https://try.github.io/ http://rogerdudler.github.io/git-guide/index.fr.html http://pcottle.github.io/learnGitBranching/ pour toutes les commandes : man git-xxx
  30. 30. Questions ? @switmeyer sylwit sylvainwitmeyer

×