Gérez du code avec Git et Github Flashcards

1
Q

Qu’est qu’un gestionnaire de versions ?

A

Un gestionnaire de versions est un programme qui permet aux développeurs de conserver un historique des modifications et des versions de tous leurs fichiers.

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

Quelle est l’avantage d’utiliser un gestionnaire des versions si vous travaillez seul ?

A

Si vous travaillez seul, vous pourrez garder l’historique de vos modifications ou revenir à une version précédente facilement.

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

Quelle est l’avantage d’utiliser un gestionnaire des versions si vous travaillez en équipe ?

A

Si vous travaillez en équipe, plus besoin de mener votre enquête ! Le gestionnaire de versions fusionne les modifications des personnes qui travaillent simultanément sur un même fichier. Grâce à ça, vous ne risquez plus de voir votre travail supprimé par erreur !

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

Quelles sont les grandes fonctionnalités d’un gestionnaire de fichiers ?

A
  1. Revenir à une version précédente de votre code en cas de problème.
  2. Suivre l’évolution de votre code étape par étape.
  3. Travailler à plusieurs sans risquer de supprimer les modifications des autres collaborateurs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A quoi sert l’onglet Pull requests de GitHub ?

A

L’onglet Pull requests, quant à lui, permet de réaliser des demandes de pull. Les demandes de pull, ou extractions, vous permettent d’informer les autres des modifications que vous avez appliquées à une branche d’un repository sur GitHub.

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

A quoi sert la fonctionnalité Explore ?

A

Via Explore, vous pourrez trouver de nouveaux projets open source sur lesquels travailler, en parcourant les projets recommandés, en vous connectant à la communauté GitHub et en recherchant des repositories par sujet ou par libellé.

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

A quoi sert un fichier readme ?

A

“readme” est un fichier qui indique les informations clés de votre projet : description, environnement à utiliser, dépendances possibles et droits d’auteurs.

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

A quoi sert un fichier .gitignore ?

A

“gitignore” est un fichier qui permet d’ignorer certains fichiers de votre projet Git. Nous reviendrons là-dessus plus tard.

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

Comment configurer son identité sur Git ?

A

$ git config –global user.name “John Doe”
$ git config –global user.email johndoe@example.com

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

Comment configurer les couleurs ?

A

$ git config –global color.diff auto
$ git config –global color.status auto
$ git config –global color.branch auto

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

Comment initialiser Git ?

A

$ git init

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

Qu’est ce que le Working directory ?

A

Le Working directory

Cette zone correspond au dossier du projet sur votre ordinateur.

Souvenez-vous, dans la partie précédente nous avons initialisé le dépôt “PremierProjet”. Eh bien ce dépôt, c’est la zone bleue du schéma.

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

A quoi sert le “Stage” ou l’index ?

A

Le Stage ou index

Cette zone est un intermédiaire entre le working directory et le repository. Elle représente tous les fichiers modifiés que vous souhaitez voir apparaître dans votre prochaine version de code.

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

A quoi sert le Repository ?

A

Le Repository

Lorsque l’on crée de nouvelles versions d’un projet (vous vous souvenez, les 3 versions différentes du gâteau ?), c’est dans cette zone qu’elles sont stockées.

Ces 3 zones sont donc présentes dans votre ordinateur, en local.

En-dessous, vous trouvez le repository GitHub, c’est-à-dire votre dépôt distant.

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

Illuster à l’aide d’un schéma le 3 zones qui forment un dépöt local, et du dépôt distant GitHub.

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

A quoi sert la commande “git add” ?

A

La commande git add place les fichiers dans le “Stage ou index” c’est à dire qu’on donne un suivi à ces fichiers. A chaque modification qu’on estime important on fait un git add.

Exemple: $ git add index.html

$ git add styles.css

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

A quoi sert la commande “git commit” ?

A

La commande “git commit”sert à garder un fichier qu’on a indexé avec “git add”. La commande “git commit” est souvent accompagnée du paramètre -m qui permet de décrire les changements efectués pendant ce commit.

Exemple: git commit -m “Ajout des fichiers html et css de base”

Conseille: A chaque fois que tu fais “git add” d’un fichier modifié faut faire “git commit -m “description de la modification”” comme ça tu garde toutes les versions d’un fichier.

18
Q

Comment relier le dépot local au dépot distant et envoyer nos documents?

A

Nous connectons les repositories. Le lien se trouve sur github:

git remote add origin https://github.com/EtudiantOC/OpenclassroomsProject.git

On fait un git branch avec la branche master devenu main sur github:

git branch -M main

Puis enfin on envoie nos documents:

git push -u origin main

19
Q

Après avoir lié le depôt local et distant et avoir envoyé une première version de notre projet. Citez les eétapes pour envoyer un fichier modifié vers le depôt distant.

A

git add index.html

git commit -m “Modification du titre H1”

git push origin main

20
Q

Citer les 4 étapes pour récuperer un projet existant de GitHub.

A

“git init”

“git remote add nomProjet urlProjet” “git remote add OC https://github.com/OpenClassrooms-Student-Center/ProjetOpenSource.git”

git branch -M nomBranche sur laquelle vous voulez importer votre projet

“git branch -M main ou git checkout nomBranch”

“git pull nomProjet nomBrancheMaster” “git pull OC main”

21
Q

Quelle commande pour savoir sur quelle branche tu te trouves ?

A

“git branch”

Exemple:

git branch

* main

cagnotte

L’étoile marque la branche sur laquelle on se trouve.

22
Q

Comment créer une nouvelle branche ?

A

git branch nomBranche

Exemple:

git branch cagnotte

23
Q

Avec quelle commande change-t-on de branche ?

A

git checkout nomBranche

Exemple:

git checkout cagnotte

24
Q

Comment fusionnez deux branches ?

A

D’abord il faut se placer sur la branche dans laquelle nous voulons que les fichiers modifiés soient deversés. Puis :

git merge nomBrancheSecondaire

Exemple:

git checkout main

git merge cagnotte

25
Q

Quelle commande pour supprimer une branche ?

A

git branch -d nomBranche

Exemple:

git branch -d brancheTest

26
Q

Comment faire si on a fait un git add d’un fichier mais quand on l’a fait sur la mauvaise branche ?

A

Vous faites d’abord “git status” pour vérifier le document mis en stage.

Puis vous faites “git stash”

Après vous faites “git status” pour bien vérifier qu’il n’y a plus aucun fichier en stage.

Changez à la branche où vous vouliez faire le “git add” avec “git checkout brancheCommit”

Et enfin vous appliquez la remise pour récupérer le “git add” avec la commande “git stash apply”

27
Q

Comment faire si on a fait plusieurs git add des fichiers mais quand on l’a fait sur la mauvaise branche ?

A

Vous faites d’abord “git status” pour vérifier les documents mis en stage.

Puis vous faites “git stash”

Après vous faites “git status” pour bien vérifier qu’il n’y a plus aucun fichier en stage.

Changez à la branche où vous vouliez faire le “git add” avec “git checkout brancheCommit”

Puis vous appliquez la remise pour récupérer le “git add” avec la commande “git stash list”

28
Q

Comment faire si on fait un commit sur la mauvaise branche ?

A

Vous devez d’abord vérifier vos commits avec: “git log commit” Exemple: $ git log commit ca83a6dff817ec66f443420071545390a954664949 Author: Marc Date: Mon Mar 19 21:52:11 2019 -0700

Puis vous devez effacer le dernier commit de la branche master avec :”git reset –hard HEAD^”

Changez à la branche voulu avec: “git checkout brancheCommit”

Finalement récuperez le git commit sur la branche voulue avec: “git reset –hard ca83a6df” Vous avez besoin que des 8 premiers caractères de la clé

29
Q

Comment changer le message du dernier commit ?

A

git commit –amend -m “Votre nouveau message de commit”

Puis on vérifie avec “git log”

30
Q

Comment faire si on a fait un commit mais que nous avons oublié un fichier ?

A

git add FichierOublie.txt git commit –amend –no-edit

31
Q

Comment annuler un commit public (un commit fait sur un dépot distant) ou un commit privé ?

A

git revert HEAD^

32
Q

A quoi sert la commande “git reset –soft”?

A

Cette commande permet de se placer sur un commit spécifique afin de voir le code à un instant donné, ou de créer une branche partant d’un ancien commit. Elle ne supprime aucun fichier, aucun commit, et ne crée pas de HEAD détaché.

33
Q

A quoi sert la commande “git reset –mixed”?

A

Le git reset –mixed va permettre de revenir juste après votre dernier commit ou le commit spécifié, sans supprimer vos modifications en cours. Il permet aussi, dans le cas de fichiers indexés mais pas encore commités, de désindexer les fichiers.

34
Q

A quoi sert la commande “git reset –hard”?

A

Cette commande permet de revenir à n’importe quel commit mais en oubliant absolument tout ce qu’il s’est passé après ! Quand je dis tout, c’est TOUT ! Que vous ayez fait des modifications après ou d’autres commits, tout sera effacé ! C’est pourquoi il est extrêmement important de revérifier plusieurs fois avant de la lancer, vous pourriez perdre toutes vos modifications si elle est mal faite.

35
Q

Quelle est la différence entre “git reset et git revert” ?

A

“git reset” va revenir à l’état précédent sans créer un nouveau commit, alors que “git revert” va créer un nouveau commit.

36
Q

Comment copier un commit spécifique d’une branche à une autre ?

A

Aller sur la branche dont on veut récupérer le commit.

“git checkout nomBranche”

Regarder l’historique des commits avec et copier les 8 premiers caractères de l’identifiant du commit :

“git log”

Puis basculmer sur la branche master avec : git checkout master

Et enfin faire un: “git cherry-pick identifiantCommit”

Vérifier le résultat avec: “git log”

37
Q

A quoi sert la commande “git log”?

A

Par défaut, git log énumère en ordre chronologique inversé les commits réalisés. Cela signifie que les commits les plus récents apparaissent en premier. Cette commande affiche chaque commit avec son identifiant SHA, l’auteur du commit, la date et le message du commit.

38
Q

C’est quoi un SHA ?

A

Un SHA est un identifiant pour les commits et autres actions gardés en mémoire par Git.

39
Q

A quoi sert la commande git reflog ?

A

“git reflog” va loguer les commits ainsi que toutes les autres actions que vous avez pu faire en local : vos modifications de messages, vos merges, vos resets, enfin tout, quoi

40
Q

A sert la commande git blame fichier.txt ?

A

git blame permet d’examiner le contenu d’un fichier ligne par ligne et de déterminer la date à laquelle chaque ligne a été modifiée, et le nom de l’auteur des modifications .

41
Q
A