0% ont trouvé ce document utile (0 vote)
67 vues57 pages

02 Git Github

Transféré par

Amar Wade
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
67 vues57 pages

02 Git Github

Transféré par

Amar Wade
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

IFT 1025 – Programmation 2

Démo 2

Initiation à Github

Oussama Ben Sghaier


[Link]@[Link]

13-03-2023
Plan

1. Concepts de base de git

2. Demo

2
Système de contrôle de versions (VCS)

C’est quoi un VCS?

Un système de contrôle de versions est un logiciel qui aide les développeurs à collaborer et à
conserver un historique complet de leur travail (c.à.d des versions du projet).

Avantages?

- Gratuit et open source


- Collaboration sur un seul projet (développement en parallèle)
- Fusionner le travail facilement/automatiquement
- Historique du projet
- Récupération/navigation facile dans l’historique

3
Système de contrôle de versions (VCS)

4
Système de contrôle de versions (VCS)

5
Système de contrôle de versions (VCS)

Avant l’utilisation de git Après l’utilisation de git

6
Services web d'hébergement de git

- On peut installer git sur un serveur pour gérer nos projets.

- Il existe des services web d’hébergement gratuits git.

Exemples:

7
Cycle de vie de git
• Working directory: c’est le dossier dans lequel on travaille et qui contient plusieurs fichiers et sous-dossiers. Ces
fichiers ne seront pas indexés par git. Lors de la prochaine ‘sauvegarde’ (commit) ces fichiers ne seront pas
enregistrés dans git.

• Staging area (Index): contient tous les fichiers que git indexe. Ce sont les fichiers qu’on compte enregistrer dans git
lors de la prochaine sauvegarde (commit).

• Repository: contient les versions sauvegardés du projet. On a deux versions ‘Local repository’ et ‘Remote
repository’.

8
Cycle de vie de git

9
Concepts de base

• Stage

• Commit

• Push

• Pull

• Head

• Clone

• Branch

10
Stage

- Par défaut, les fichiers ne sont pas indexés par git.

- L’operation ‘stage’ consiste à indexer des fichiers par git.

- Lors de la prochaine ‘sauvegarde’ (commit), les modifications apportées sur ces fichiers

seront sauvergardées dans git.

Commandes:

• git add fichier : ajouter un fichier spécifique

• git add dossier : ajouter un dossier spécifique et tout son contenu récursivement

• git add . : ajouter tous les fichiers et dossier du repo récursivement

11
Commits

- Fait réference à une sauvegarde ou à une version de notre projet.

- Lors d’un commit, seul les fichiers qui sont dans le ‘staging area’ sont sauvegardés.

- One peut visualiser, modifier, et restaurer un commit spécifique.

Commandes:

• git commit -m “message” : sauvegarder tous les fichiers qui sont dans le staging area

12
Push

- L'opération Push copie les modifications sauvegardées localement dans le repo distant.

- C.à.d synchroniser le repo distant avec les version sauvegardées localement.

- Ces modifications seront stockées d’une manière permanente et ne peuvent pas être perdues.

- Ceci permet de rendre les modifications disponibles aux autres collaborateurs du projet.

Commandes:

• git push repo_distant [nom_de_la_branche] : synchroniser le repo distant avec le repo local, c.à.d, tous

les nouveaux commits locaux seront sauvegardés dans le repo distant. Le nom de la branche est

optionnel.

13
Pull

- L'opération Pull copie les modifications du repo distant au repo local.

- Les nouvelles modifications faites par nos collaborateurs sont téléchargées.

- Mettre notre projet à jour.

- Avant de faire un push, on doit synchroniser notre repo local (pull).

Commandes:

• git pull repo_distant [nom_de_la_branche] : synchroniser le repo local avec le repo distant, c.à.d, tous

les nouveaux commits distants seront téléchargés. Le nom de la branche est optionnel.

14
Head

- Le head est un pointeur qui fait référence à la version courante du projet (commit).

- Par défaut, le head pointe sur la dernière version du projet.

15
Branches

- Dans git, les branches permettent d’avoir des chemins séparés de versions.

- Chaque personne peut travailler sur sa propre branche et après on peut fusionner les branches.

- On peut consacrer une branche séparée pour chaque fonctionnalité.

16
Branches

- Dans git, les branches permettent d’avoir des chemins séparés de versions.

- Chaque personne peut travailler sur sa propre branche et après ils peuvent fusionner leurs versions.

- On peut consacrer une branche séparée pour chaque fonctionnalité.

17
Branches

Commandes:

• git branch nom_branche: créer une nouvelle branche à partir de la branche courante

• git checkout nom_branch: naviguer entre les branches

• git checkout –b nom_branche: créer une branche et naviguer vers cette branche

18
Clone

- L’opération clone permet de copier un repo distance dans le local.

- Si on veut collaborer sur un projet en utilisant git, la première étape consiste à faire un clone de ce

projet dans le local.

Commandes:

• git clone lien_vers_repo: faire une copie du repo distant dans le local

19
Démo

20
Installation et configuration
Installation du client git
[Link]

Configuration de votre identité sur git

$ git config --global [Link] «nom»


$ git config --global [Link] «email»

21
Création d’un répertoire github
Créer un repo sur github

22
Configurer le repo localement + 1er commit

23
Configurer le repo localement + 1er commit

24
Git log & Git status

25
Git add – stage & unstage

26
Git commit

27
Git push

28
Git push

29
Git clone

30
Git clone

31
Git show

32
Git diff

33
Modifier un commit

34
Modifier un commit

35
Git pull

36
Git merge

37
Git merge

38
Git stash

39
Git stash

40
Git stash

41
Git log -n

42
Git checkout commit

43
Git branch

44
Demo

45
Commit dans la nouvelle branche

46
Git push – nouvelle branche

47
Git merge branches

48
Git merge conflicts

49
Git merge conflicts

50
Git ignore

- Spécifier des fichiers et dossiers qu’on doit ignorer (ne les pas inclure dans le staging area ou dans le
commit).
- On crée un fichier .gitignore dans la racine et on spécifie les fichiers à ignorer (un fichier dans chaque
ligne).

51
Git avec SourceTree

52
Git avec intelliJ

53
Gitflow

- Gitflow est un modèle de branchement de Git (un standard).


- Ce workflow organise la manière don’t utilise les branches don’t git et favorise l’organisation et la
collaboration.

54
Gitflow

- À voir: Tutoriel gitflow

• Main: contient les versions officielles de l’application


• Feature: branches de fonctionnalités
• Develop: branche d’integration de fonctionnalités
• Hotfix: branche de maintenance (correction de bugs)
• Release: branche de livraison (preparer une livraison)

55
Pull request

56
IFT 1025 – Programmation 2

Démo 2

Initiation à Github

Oussama Ben Sghaier


[Link]@[Link]

13-03-2023

Vous aimerez peut-être aussi