Git Flashcards

Git et la gestion de versions (38 cards)

1
Q

Qu’est-ce que Git ?

A

Un système de gestion de versions distribué qui permet de suivre les modifications du code et de collaborer efficacement.

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

Quelle est la différence entre Git et GitHub ?

A

Git est un outil de versionnement local.
GitHub est une plateforme en ligne pour héberger et collaborer sur des dépôts Git.

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

Quels sont les rôles de la gestion de version ?

A
  • Sauvegarder le code de manière centralisée ;
  • Savoir qui est à l’origine d’une partie du code ;
  • Travailler en parallèle sur le même code.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A quoi sert la commande “git init” ?

A

La commande “git init” sert à initialiser un nouveau dépôt git local dans le répertoire courant. Cela se traduit par la création d’un sous-répertoire “.git” qui contient toutes les informations techniques utilisées par git pour sa gestion de l’historique des commits, des branches, …

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

Quelles sont les trois zones principales dans le fonctionnement de Git et à quoi servent-elles ?

A
  • Working Directory :
    → C’est l’endroit où l’on modifie les fichiers. Les fichiers ici ne sont pas encore suivis par Git ou sont en cours de modification.
  • Staging Area :
    → C’est une zone intermédiaire où tu sélectionnes les fichiers à inclure dans le prochain commit.
    Commande principale : git add <fichier></fichier>
  • Local Repository :
    → C’est la base de données Git.
    Les commits y sont enregistrés de façon permanente.
    Commande principale : git commit -m “message”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelles informations font partie d’un commit ?

A
  • la différence de code avec le commit précédent, appelée “diff”
  • la référence du commit précédent
  • la description
  • l’auteur
  • l’horodatage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A quoi sert la commande “git diff “ ?

A

Elle permet de visualiser la différence enregistrée entre les fichiers et la dernière version commitée.

“git diff <commit1> <commit2>" : montre les différences entre deux versions du projet.</commit2></commit1>

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

Qu’appelle-t-on “HEAD” ?

A

HEAD est la référence du commit courant ou de la branche courante.

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

Quelle convention de nomage utilise-t-on pour le nom d’un dépôt git ?

A

On utilise le kebab-case (ex : calendrier-de-lavent).

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

Quelle convention de nomage utilise-t-on pour un commit ?

A

type: description rapide (max 50 caractères)
// saut de ligne
Description plus détaillée.

Types : feat = ajout / fix = correctif / refactor = réorganisation / docs = documentation

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

A quoi set la commande “git stash” ? Quelles commandes en découle ?

A

La commande “git stash” permet de remiser les modifications en cours, qui n’ont donc pas encore
été commitées, afin de pouvoir y revenir plus tard.

“git stash apply” : récupère les modifications et les supprime du stash
“git stash list” : liste les éléments contenus dans le stash
“git stash pop” : récupère le premier élément du stash
“git stash drop” : supprime le premier élément du stash

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

Quelle commande permet de visualiser ou de modifier les configurations git ?

A

“git config” permet de configurer en global ou en local.

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

Quelle information permet d’identifier n’importe quel commit de manière unique ?

A

Les commits sont identifiés à l’aide d’un texte hexadécimal que l’on appelle couramment le “hash”.

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

Quand dit-on d’un fichier qu’il est “untracked” dans un dépôt git ?

A

On dit d’un fichier qu’il est “untracked” quand il est présent dans le working directory alors qu’il n’est pas connu du dépôt. La commande “git add” permet de le rendre “tracked”.

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

Que fait la commande “git add <fichier>" ?</fichier>

A

Elle ajoute un fichier à la staging area.
“git add –all” ou “git add *” permet de tout ajouter d’un seul coup (ATTENTION AUX MODIFICATIONS PAR ERREUR).
“git add *.html” permet de d’ajouter tous les fichiers d’une même extension.

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

Quelle commande enregistre les changements dans l’historique du projet ?

A

“git commit”
“git commit -m “message” “ permet de rédiger directement le commentaire du commit s’il est court. Sinon, avec “git commit”, une page d’édition s’ouvre.
! Penser à respecter les conventions de commit !

17
Q

Quelle commande permet d’afficher l’historique des commits ?
Quelles commandes en découle ?

A

“git log” permet d’afficher les historiques de modification.
“git log –oneline” permet d’afficher chaque commit sur une seule ligne.
“git log -n2” permet d’afficher les deux derniers commits.
“git log -p <fichier>" permet de cibler les commit concernant un fichier spécifique.
"git log --graph" permet de visualiser les branches.</fichier>

18
Q

Quelle commande permet d’afficher l’état du répertoire de travail (fichiers modifiés, en attente de commit, etc.) ?

A

“git status”

19
Q

Quelle commande permet de changer de branche ou de commit ?

A

“git checkout <branche>"</branche>

20
Q

Que fait la commande “git revert <hash>" ?</hash>

A

Elle permet d’inverser un ancien commit en en créant un nouveau.

21
Q

Quelle commande annule le dernier commit mais garde les modifications dans le code ?

A

“git reset –soft HEAD~1” ou “git reset –soft HEAD^”

22
Q

Quelle commande permet de supprimer des commits ?

A

“git reset –hard <hash>"
Cette commande annule le commit et les modifications apportées.
ATTENTION, CETTE COMMANDE PEUT-ETRE DANGEREUSE.</hash>

23
Q

Quelle commande permet de retirer un fichier de la staging area ?

A

“git reset HEAD <fichier>"</fichier>

24
Q

A quoi sert une branche dans Git ?

A

À développer des fonctionnalités ou corriger des bugs sans impacter la branche principale (main/master).

25
A quoi servent principalement les étiquettes ? Quelle est la commande à utiliser ?
Une étiquette est une référence fixe vers un commit. Elle sert à marquer les versions du projet dans l’historique. "git tag "
26
Quelle commande crée une nouvelle branche ? Et qu'elle commande devons-nous utiliser pour nous déplacer dessus ?
"git branch " permet de créer une nouvelle branche. "git checkout permet de nous y rendre. La commande "git checkout -b " permet de créer un branche et de nous déplacer directement.
27
Que fait la commande "git branche -d " ?
Cette commande permet de supprimer la branche indiquée.
28
Quelle commande permet de changer de branche ?
"git switch "
29
Quelle est la différence entre merge et rebase ?
"git merge " crée un commit de fusion (ou fast-forward). Il faut être sur la branche de destination. "git rebase " réécrit l’historique pour intégrer les commits linéairement. Il faut être sur la branche que l'on veut rebase.
30
A quoi sert le fichier .gitignore ?
Ce fichier permet de lister les extension, fichiers ou dossiers qui doivent être ignorés pour les commits.
31
Qu’est-ce qu’une Pull Request en Git ?
Une Pull Request est une demande de fusion (merge) faite sur une plateforme comme GitHub. Elle permet à un développeur de proposer ses modifications pour qu’elles soient revues et intégrées dans une autre branche (souvent main).
32
Quelle commande permet de récupérer une copie d'un dépôt distant en local ?
"git clone " dont l'url est à récupérer sur GitHub.
33
Quelle commande télécharge les modifications depuis le dépôt distant sans les fusionner ?
"git fetch"
34
Que fait la commande "git pull" ?
Cette commande récupère et fusionne les changements du dépôt distant sur notre dépôt local.
35
Quelle commande envoie les commits locaux vers le dépôt distant ?
"git push"
36
Que faire si un conflit survient pendant un merge ?
Résoudre manuellement les conflits dans les fichiers, puis faire "git add" et "git commit".
37
Quelle commande permet de voir quelles lignes ont été modifiées par qui ?
"git blame "
38
À quoi sert la commande "git help" ?
"git help" permet d’afficher l’aide intégrée de Git, avec des explications sur les commandes disponibles, leur syntaxe, et leurs options. C’est l’équivalent du manuel utilisateur de Git, accessible directement depuis le terminal. "git help" : affiche la liste générale "git -- help" : permet d'obtenir de l'aide pour une commande spécifique