1
Débuter avec Git et Github
Réalisé par : Monoem YOUNEB
2018
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
2
I. Travail à faire
1. Create File ;
2. Save it ;
3. Edit it ;
4. Save it again ;
5. Etc.
II. Time line d’un fichier
III. Versioning
- Ce qui a été modifié ?
- Pour quoi il a été modifié ?
- Historique des modifications (qui a modifié, qu’elles sont les modifications ? …).
- Résolution des conflits par fusion.
- Possibilité d’avoir des branches.
IV. Avantage
- Système distribué (Distributed Version Control System);
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
3
V. Exercice
1. Ouvrir le git bash
2. Créer un dossier de travail
3. Workflow classique d’un fichier
4. Afficher la configuration de git
vim ~/.gitconfig
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
4
Pour enregistrer & quitter : échap :x
Pour quitter : échap :q
5. Initialiser git
6. Le status global des fichiers
7. Création d’un fichier « agence.html »
Enregistrer et quitter :échap :x
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
5
8. Enregistrer le projet (le commit)
a. Sélection des fichiers
b. Photo des fichiers
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
6
9. Modification du code source du fichier agence.html
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
7
10. Time line des commits (git log)
11. La branche
c. Lister les branches
d. Créer une nouvelle branche « description »
(* master)= nous sommes sur la branche master ->
toujours avec * et en vert
e. Se déplacer sur la branche « description »
Auteur & date
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
8
- Afficher les commit (log)
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
9
12. Publier mon projet
a. Basculer sur la branche principale (ou la branche de
publication souhaitable)
b. Demander à git de récupérer le travail de la branche
« description » pour la fusionner sur la branche
master
 Fusionner les commits
c. Suppression de la branche (optionnel)
presentation
presentation
presentation
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
10
a. Exception
Si on a changer les mêmes ligne dans les deux branches git affiche une erreur
Solution :
- il faut éditer fichier index.html sur la branche master et choisir la ligne correcte
avec la cmd : vim
- taper $ git add index.html
- taper $ git commit –m « le message »
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
11
13. Le dépôt distant : distribuer le projet/Déposer le
projet sur un espace partagé (collaborer avec d’autre
personne)
a. Servir le travail à l’équipe
b. Chaque membre peut participer au projet
c. Créer un repository dans github
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
12
d. Copier l’url de la repository
a. Associer le dépôt distant au dépôt local
 Dans ce cas il nous faut un pont entre les deux pour
qu’on puisse envoyer notre projet
 Cmd nécessaire :
git remote add origin url du dépôt
$ git remote add origin https://github.com/monoemyouneb/agenceImmobili-re.git
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
13
b. Afficher & vérifier le nom de dépôt distant du projet
c. Déposer le projet
Git push origin muster
14. Récupérer un travail (pull)
#Gneric command
$ git pull <remote> <brunch>
#utilisation de la commande (Synopsys)
$ git pull origin muster
Origin : signifie le serveur
Muster : c’est la branche dans le quel on va mettre le
nouveau dépôt
CMD GIT
CMD Signification
git – version Afficher la version de git
git config --global user.name "votre_pseudo" votre nom (ou pseudo)
git config --global user.email moi@email.com votre e-mail
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
Elles activeront la couleur dans Git. Il ne faut le faire
qu’une fois, et ça aide à la lisibilité des messages
dans la console.
vim ~/.gitconfig Editer votre fichier de configuration. gitconfig situé
dans votre répertoire personnel pour y ajouter une
section alias
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
14
$ cd m/workspace
$ mkdir pom
$ cd pom
Créer un nouveau dépôt
git init Initialisez un dépôt Git tout neuf dans ce dossier
git clone url
exemple :
git clone http://github.com/symfony/symfony.git
Cloner un dépôt existant
on se connecte au dépôt en HTTP, mais il
existe d’autres méthodes : les protocoles
« git:// » et « ssh:// ».
$ git status Indique les fichiers que vous avez modifiés
récemment
Lorsqu’on travaille avec Git, on suit en général
toujours les étapes suivantes :
1. modifier le code source ;
2. tester votre programme pour vérifier si cela
fonctionne ;
3. faire un commit pour « enregistrer » les
changements et les faire connaître à Git ;
4. recommencer à partir de l’étape 1 pour une
autre modification.
$ git diff Vous pouvez voir concrètement ce que vous avez
changé en tapant git diff :
Par défaut, Git affiche les modifications de tous les
fichiers qui ont changé.
- static protected $spec = ’1.2’;
+ static protected $spec = ’1.3’;
Les lignes ajoutées sont précédées d’un « + » tandis
que les lignes supprimées sont
précédées d’un « - ».
git diff path file
exemple:
git diff src/Symfony/Components/Yaml/Yaml.php
Vous pouvez demander à Git d’afficher seulement les
changements d’un fichier précis.
1. git add nomfichier1 nomfichier2
Effectuer un commit des changements
pour ajouter les fichiers à la liste de ceux devant
faire l’objet d’un commit.
vous devriez voir les fichiers que vous avez modifiés
en rouge
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
15
2. git commit
3. git status
Afficher les commit (log)
après un git add, vous les verrez alors en vert ;
git commit -a pour « commiter » tous les fichiers qui étaient listés
dans git status dans les colonnes « Changes to be
committed » et « Changed but not updated » (qu’ils
soient en vert ou en rouge) ;
git-log Vérifions les logs
Show commit logs
« Page up », « Page down »
« Q » quitter
« less » pour paginer les résultats
git log -p Avoir le détail des lignes qui ont été ajoutées et
retirées dans chaque commit.
git log --stat résumé plus court des commits
git commit --amend Modifier le dernier message de commit
HEAD : dernier commit ;
HEAD^ : avant-dernier commit ;
HEAD^^ : avant-avant-dernier commit ;
HEAD~2 : avant-avant-dernier commit
(notation équivalente) ;
Annuler le dernier commit (soft)
Cela annulera sans confirmation tout votre travail !
Faites donc attention et vérifiez que c’est bien ce que
vous voulez faire !
git branch nom de la branche Créer une nouvelle branche
git chechout nom de la branche Se déplacer sur la branche
git branch Lister les branches
Git merge nom de la branche
Exemple : Git merge description
- Demander à git de récupérer le travail de la
branche « description » pour la fusionner sur
la branche master
- Fusionner les commits
git branch –d nom de la branche
Exemple : git branch –d description
Suppression de la branche
git remote add origin url du dépôt Associer le dépôt distant au dépôt local
Git push origin nom de la branche de
travail local
Déposer le projet
git-pull
Récupère et intègre avec un autre référentiel ou
une branche locale.
Incorpore les modifications d'un référentiel distant
dans la branche en cours. Dans son mode par
Débuter avec Git et Github Réalisé par : Monoem YOUNEB
16
défaut, git pullest raccourci pour git fetchsuivi
par git merge FETCH_HEAD.
Plus précisément, git pull exécute git fetch avec
les paramètres donnés et appelle git merge pour
fusionner les têtes de branches récupérées dans la
branche courante. Avec --rebase, il exécute git
rebase au lieu de git merge .

Débuter avec Git & github

  • 1.
    1 Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 2018
  • 2.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 2 I. Travail à faire 1. Create File ; 2. Save it ; 3. Edit it ; 4. Save it again ; 5. Etc. II. Time line d’un fichier III. Versioning - Ce qui a été modifié ? - Pour quoi il a été modifié ? - Historique des modifications (qui a modifié, qu’elles sont les modifications ? …). - Résolution des conflits par fusion. - Possibilité d’avoir des branches. IV. Avantage - Système distribué (Distributed Version Control System);
  • 3.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 3 V. Exercice 1. Ouvrir le git bash 2. Créer un dossier de travail 3. Workflow classique d’un fichier 4. Afficher la configuration de git vim ~/.gitconfig
  • 4.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 4 Pour enregistrer & quitter : échap :x Pour quitter : échap :q 5. Initialiser git 6. Le status global des fichiers 7. Création d’un fichier « agence.html » Enregistrer et quitter :échap :x
  • 5.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 5 8. Enregistrer le projet (le commit) a. Sélection des fichiers b. Photo des fichiers
  • 6.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 6 9. Modification du code source du fichier agence.html
  • 7.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 7 10. Time line des commits (git log) 11. La branche c. Lister les branches d. Créer une nouvelle branche « description » (* master)= nous sommes sur la branche master -> toujours avec * et en vert e. Se déplacer sur la branche « description » Auteur & date
  • 8.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 8 - Afficher les commit (log)
  • 9.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 9 12. Publier mon projet a. Basculer sur la branche principale (ou la branche de publication souhaitable) b. Demander à git de récupérer le travail de la branche « description » pour la fusionner sur la branche master  Fusionner les commits c. Suppression de la branche (optionnel) presentation presentation presentation
  • 10.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 10 a. Exception Si on a changer les mêmes ligne dans les deux branches git affiche une erreur Solution : - il faut éditer fichier index.html sur la branche master et choisir la ligne correcte avec la cmd : vim - taper $ git add index.html - taper $ git commit –m « le message »
  • 11.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 11 13. Le dépôt distant : distribuer le projet/Déposer le projet sur un espace partagé (collaborer avec d’autre personne) a. Servir le travail à l’équipe b. Chaque membre peut participer au projet c. Créer un repository dans github
  • 12.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 12 d. Copier l’url de la repository a. Associer le dépôt distant au dépôt local  Dans ce cas il nous faut un pont entre les deux pour qu’on puisse envoyer notre projet  Cmd nécessaire : git remote add origin url du dépôt $ git remote add origin https://github.com/monoemyouneb/agenceImmobili-re.git
  • 13.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 13 b. Afficher & vérifier le nom de dépôt distant du projet c. Déposer le projet Git push origin muster 14. Récupérer un travail (pull) #Gneric command $ git pull <remote> <brunch> #utilisation de la commande (Synopsys) $ git pull origin muster Origin : signifie le serveur Muster : c’est la branche dans le quel on va mettre le nouveau dépôt CMD GIT CMD Signification git – version Afficher la version de git git config --global user.name "votre_pseudo" votre nom (ou pseudo) git config --global user.email moi@email.com votre e-mail git config --global color.diff auto git config --global color.status auto git config --global color.branch auto Elles activeront la couleur dans Git. Il ne faut le faire qu’une fois, et ça aide à la lisibilité des messages dans la console. vim ~/.gitconfig Editer votre fichier de configuration. gitconfig situé dans votre répertoire personnel pour y ajouter une section alias
  • 14.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 14 $ cd m/workspace $ mkdir pom $ cd pom Créer un nouveau dépôt git init Initialisez un dépôt Git tout neuf dans ce dossier git clone url exemple : git clone http://github.com/symfony/symfony.git Cloner un dépôt existant on se connecte au dépôt en HTTP, mais il existe d’autres méthodes : les protocoles « git:// » et « ssh:// ». $ git status Indique les fichiers que vous avez modifiés récemment Lorsqu’on travaille avec Git, on suit en général toujours les étapes suivantes : 1. modifier le code source ; 2. tester votre programme pour vérifier si cela fonctionne ; 3. faire un commit pour « enregistrer » les changements et les faire connaître à Git ; 4. recommencer à partir de l’étape 1 pour une autre modification. $ git diff Vous pouvez voir concrètement ce que vous avez changé en tapant git diff : Par défaut, Git affiche les modifications de tous les fichiers qui ont changé. - static protected $spec = ’1.2’; + static protected $spec = ’1.3’; Les lignes ajoutées sont précédées d’un « + » tandis que les lignes supprimées sont précédées d’un « - ». git diff path file exemple: git diff src/Symfony/Components/Yaml/Yaml.php Vous pouvez demander à Git d’afficher seulement les changements d’un fichier précis. 1. git add nomfichier1 nomfichier2 Effectuer un commit des changements pour ajouter les fichiers à la liste de ceux devant faire l’objet d’un commit. vous devriez voir les fichiers que vous avez modifiés en rouge
  • 15.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 15 2. git commit 3. git status Afficher les commit (log) après un git add, vous les verrez alors en vert ; git commit -a pour « commiter » tous les fichiers qui étaient listés dans git status dans les colonnes « Changes to be committed » et « Changed but not updated » (qu’ils soient en vert ou en rouge) ; git-log Vérifions les logs Show commit logs « Page up », « Page down » « Q » quitter « less » pour paginer les résultats git log -p Avoir le détail des lignes qui ont été ajoutées et retirées dans chaque commit. git log --stat résumé plus court des commits git commit --amend Modifier le dernier message de commit HEAD : dernier commit ; HEAD^ : avant-dernier commit ; HEAD^^ : avant-avant-dernier commit ; HEAD~2 : avant-avant-dernier commit (notation équivalente) ; Annuler le dernier commit (soft) Cela annulera sans confirmation tout votre travail ! Faites donc attention et vérifiez que c’est bien ce que vous voulez faire ! git branch nom de la branche Créer une nouvelle branche git chechout nom de la branche Se déplacer sur la branche git branch Lister les branches Git merge nom de la branche Exemple : Git merge description - Demander à git de récupérer le travail de la branche « description » pour la fusionner sur la branche master - Fusionner les commits git branch –d nom de la branche Exemple : git branch –d description Suppression de la branche git remote add origin url du dépôt Associer le dépôt distant au dépôt local Git push origin nom de la branche de travail local Déposer le projet git-pull Récupère et intègre avec un autre référentiel ou une branche locale. Incorpore les modifications d'un référentiel distant dans la branche en cours. Dans son mode par
  • 16.
    Débuter avec Gitet Github Réalisé par : Monoem YOUNEB 16 défaut, git pullest raccourci pour git fetchsuivi par git merge FETCH_HEAD. Plus précisément, git pull exécute git fetch avec les paramètres donnés et appelle git merge pour fusionner les têtes de branches récupérées dans la branche courante. Avec --rebase, il exécute git rebase au lieu de git merge .