Developpez.com - Rubrique ALM

Le Club des Développeurs et IT Pro

Appel à contribution pour une section Git dans la FAQ SCM

Vous y êtes attendus

Le 2018-04-25 09:16:14, par Community Management, Community Manager
Chers membres du club,

Vu l'importance que prend de plus en pus l'outil Git, dans le nouvel écosystème des développeurs, nous souhaitons voir une section dédiée à Git dans la FAQ SCM.

Marco propose le plan ci-dessous, qui est déjà très intéressant.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
7. GIT

7.1 Généralités
- Qu'est ce que GIT ?
- Que signifie GIT ?
- Où trouver de la documentation pour GIT ?
- Où trouver le code source de GIT ?
- Quelles sont les différences entre un SCM centralisé comme Subversion et un SCM décentralisé comme GIT ?
- Qu'est-ce qu'un repository GIT ?
- Qu'est-ce qu'un remote ?
- Que désignent les termes upstream et downstream ?

7.2 Installation et configuration
- Comment installer GIT sur Windows ?
- Comment connaitre la liste des commandes GIT ?
- Comment connaitre la version de votre GIT ?
- Quels sont les fichiers de configuration de GIT ?
- Comment afficher la configuration courante de GIT ?
- Comment exclure des fichiers ?
- Comment changer son nom d'utilisateur ?
- Comment changer son email ? 
- Comment changer la push url ?

7.3 Utilisation

7.3.1 Initialisation d'un repository
- Comment initialiser un repository
- Comment initialiser un bare repository
- Comment cloner un repository
- Comment connaitre l'état du repository 

7.3.2 Les remotes
- Comment lister les remotes d'un repository ?
- Comment ajouter un remote ?
- Comment inspecter un remote ?
- Comment supprimer un remote ?
- Comment renommer un remote ?
- Comment mettre à jour la représentation locale d'un remote ? (fetch)
- Comment mettre à jour une branche locale avec une branche distance ?
- Comment mettre à jour un remote ? (push)

7.3.3 La working directory
- Qu'est-ce que la working directory ?
- Comment changer l'état de la working directory ?

7.3.4 La zone de stagging
- Qu'est ce que la zone de stagging ?
- Comment ajouter un fichier à la zone de stagging ?
- Comment retirer un fichier de la zone de stagging ?

7.3.5 Les commits
- Qu'est ce qu'un commit ?
- Comment créer un commit ?
- Comment ajouter un message en créant un commit ?
- Comment modifier le message d'un commit existant ?
- Comment supprimer le dernier commit de la branche courante sans perdre les modifications ?
- Comment supprimer le dernier commit de la branche courante avec les modifications ?
- Comment supprimer les "n" derniers commits de la branche courante sans perdre les modifications ?
- Comment supprimer les "n" derniers commits de la branche courante avec les modifications ?
- Comment ajouter un commit d'une branche A dans une branche B sans effectuer un merge ? (cherry-pick)
- Comment annuler un commit existant ? (revert)

7.3.6 Les branches 
- Qu'est-ce qu'une branche ?
- Comment lister les branches locales ?
- Comment créer une branche ?
- Comment supprimer une branche ?
- Comment renommer une branche ?
- Comment comparer deux branches ?
- Comment comparer l'état d'un fichier présent dans deux branches ?

7.3.7 Les fusions de branches (merge)
- Qu'est-ce qu'un merge ?
- Comment merger une branche A dans une branche B ?
- Comment annuler un merge en cours ?
- Comment rollback un merge terminé ?
- Qu'est-ce qu'un conflit ?
- Comment gérer un conflit ?

7.3.8 Réécriture de l'historique (rebase)
- Qu'est-ce qu'un rebase ?
- Qu'est-ce qu'un rebase intéractif ?
- Pourquoi effectuer un rebase ?
- Pourquoi effectuer un rebase intéractif ?
- Comment annuler un rebase en cours ?

7.3.9 Les tags
- Qu'est-ce qu'un tag ?
- Comment créer une tag ?
- Comment supprimer une tag ?
- Comment renommer une tag ?
- Comment lister les tags existants ?
- Comment comparer deux tags ?
- Comment comparer l'état d'un fichier présent dans deux tags ?

7.3.10 Les logs
- Qu'est-ce que le log ?
- Comment afficher le log ?
- Comment afficher le log sous forme graphique dans la console ?
- Comment afficher le log sur une seule ligne pour chaque commit ?
- Comment afficher un changelog entre deux tags ?
- Comment filtrer le log sur la base des messages de commit ?
- Comment filtrer le log sur la base de l'auteur des commits ?
- Comment afficher la liste des fichiers modifiés pour chaque commit du log ?
- Comment trouver qui a modifié quelle ligne dans un fichier donné ? (blame)

7.4 Outils
- github
- gitlab
- qu'elle est la différence entre une pull request (github) et une merge request (gitlab) ?
Toute contribution sera la bienvenue
  Discussion forum
1 commentaire
  • Marco46
    Expert éminent sénior
    J'ai rendu le dépôt public. Il est disponible ici.

    Le plan a évolué, j'ai proposé une réponse pour chaque question du plan.

    Si des gens veulent contribuer à la relecture et à l'ajout de nouveau contenu ils sont les bienvenus !