Introduction git Flashcards

1
Q

Qu’est-ce que git?

A

Git est un système de gestion de versions (Version Control System ou VCS).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelle est la particularité de git?

A

Git offre un système de gestion de versions distribué, il n’y a pas une base de code centralisé d’où tirer le code. (cf repo locaux et distant)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce qu’un système de gestion de version centralisé?

A

D’autres systèmes de gestion de versions, tels que SVN et CVS, reposent sur un système centralisé, ce qui signifie qu’une seule copie maîtresse du logiciel est utilisée. Ces systèmes nécessitent donc une connectivité réseau pour toute action au contraire de git qui va utiliser le réseau seulement lors d’une mise à jour entre le dépôt local et le dépôt distant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quel est l’intérêt de la gestion de versionning?

A

L’intérêt de la gestion de versions (ou versioning) est de pouvoir revenir en arrière si besoin, et la capacité de voir qui a modifié quoi, a quel moment, ce qui apportera une meilleure gestion des participants du projet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quel est l’intérêt des logs?

A

Pouvoir observer les logs est essentiel pour un outil de gestion de versions. C’est une fonctionnalité très utilisée, notamment pour savoir quel utilisateur a fait quelle modification (et à quel moment). Cela permet de gérer les versions du répertoire de travail, d’avoir un vrai suivi des branches et de l’évolution des fichiers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quel est l’intérêt des branches?

A

Lorsque vous créez une application, il est toujours souhaitable d’avoir une version stable de celle-ci, mais que se passe-t-il si vous souhaitez développer une nouvelle fonctionnalité ? Car vous ne voulez pas écraser la version stable, ou vous ne voulez pas avoir a faire des git revert sans arrêt en cas d’erreur. C’est là que l’intérêt des branches entre en jeu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est-ce que la branche master?

A

Par défaut une seule branche existe lors de l’initialisation du dépôt, la branche master (celle-ci a été renommée en branche main sur GitHub). La bonne pratique est de laisser la version de votre projet la plus stable sur celle-ci.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quelles sont les bonnes pratiques en matière de branche?

A

La bonne pratique consiste à laisser la version de votre projet la plus satble sur la branche master et lors du développement d’une nouvelle fonctionnalité vous serez amenés à créer une nouvelle branche. Le fait de créer une nouvelle branche va nous permettre de travailler avec les fichiers du répertoire courant dans la nouvelle branche. Ainsi vous pourrez développer votre nouvelle fonctionnalité sur la nouvelle branche, sans oublier les bonnes pratiques apprises jusqu’à présent (git add, status, commit…). Quand vous êtes satisfaits du travail réalisé sur la branche, il est possible de fusionner la nouvelle branche avec la branche master.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qu’est-ce que la gestion de conflit?

A

Dans chaque situation où plusieurs personnes travaillent sur le même fichier, le travail finit par se chevaucher. Il arrive également que deux développeurs modifient la même ligne de code de deux manières différentes. Dans ces cas, Git ne peut pas dire quelle version est correcte, seulement un des développeurs peut décider.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quelle est la bonne pratique en termes de gestion de conflit?

A

La résolution des conflits de fusion peut prendre une minute ou plusieurs jours (s’il y a beaucoup de fichiers à corriger). Il est recommandé, et c’est une bonne pratique de codage, de synchroniser votre code plusieurs fois par jour en faisant des commits, des pushs, et des merges régulièrement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qu’est-ce qu’un tag?

A

Une dernière notion importante à connaître lorsque l’on utilise git est le concept de tag. Les tags sont des références vers un point particulier de l’historique des modifications.

Un tag représente donc un commit en particulier, alors qu’une branche représente une succession de commits. Les tags sont notamment utilisés pour indiquer un point important dans l’historique des modifications, par exemple des commits correspondants à des versions déployées de l’application (c’est à dire version x.y.z, par exemple 1.0.1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly