diff options
author | polo <ordipolo@gmx.fr> | 2021-02-23 03:01:46 +0100 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2021-02-23 03:01:46 +0100 |
commit | c905f8bd2e7ed55e752e5b730219a38d9d7085cc (patch) | |
tree | 499f38514f5b926cb6209fda3dd333b2462b8225 /tuto git.txt | |
download | tuto_git-c905f8bd2e7ed55e752e5b730219a38d9d7085cc.zip |
première validation
Diffstat (limited to 'tuto git.txt')
-rw-r--r-- | tuto git.txt | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/tuto git.txt b/tuto git.txt new file mode 100644 index 0000000..8b950e6 --- /dev/null +++ b/tuto git.txt | |||
@@ -0,0 +1,121 @@ | |||
1 | cours git openclassrooms | ||
2 | |||
3 | https://openclassrooms.com/fr/courses/5641721-utilisez-git-et-github-pour-vos-projets-de-developpement | ||
4 | https://wiki.archlinux.org/index.php/git | ||
5 | |||
6 | |||
7 | Git est un logiciel qui sert à gérer du code source. Ces fonctionnalités sont | ||
8 | - d'héberger du code: | ||
9 | - le contrôle de versions | ||
10 | - le travail collaboratif | ||
11 | En gros, il garde le code source d'un projet en gardant les anciennes versions, | ||
12 | De plus, il note quel utilisateur à déposé quel code. | ||
13 | Un code peut donc être vérifié par tout le monde avant que soit mis à jour le fichier principal. | ||
14 | |||
15 | C'est un système distribué, il est possible de se connecter à n'importe quel dépôt de la même manière. | ||
16 | Il sont interconnectés et apparaissent à l'utilisateur comme un seul serveur. | ||
17 | |||
18 | |||
19 | Configuration avec la console. | ||
20 | |||
21 | On doit d'abord donné un nom d'utilisateur et un mot de passe: | ||
22 | git config --global user.name "John Doe" | ||
23 | git config --global user.email johndoe@example.com'' | ||
24 | |||
25 | Pour activer les couleurs: | ||
26 | git config --global color.diff auto | ||
27 | git config --global color.status auto | ||
28 | git config --global color.branch auto | ||
29 | |||
30 | Choix d'un éditeur (par défaut vim, on peut en choisir un graphique): | ||
31 | git config --global core.editor nano | ||
32 | git config --global merge.tool vimdiff | ||
33 | |||
34 | Pour le master se nomme toujours master: | ||
35 | git config --global init.defaultBranch master | ||
36 | |||
37 | Pour afficher toutes les règles choisies: | ||
38 | git config --list | ||
39 | |||
40 | |||
41 | Aspect général de l'utilisation de git. | ||
42 | |||
43 | 1/ Créer un dépôt, on a pour ça deux possibilités: | ||
44 | - créer un dépôt local | ||
45 | - Créer un compte github (ou autre) et "forker" un projet (open source du coup). | ||
46 | |||
47 | 2/ Sur son PC, créer un dossier avec le nom du projet, puis initialiser: | ||
48 | mkdir projet | ||
49 | cd projet | ||
50 | git init | ||
51 | Ce "projet" peut être perso (et hébergé sur github ou autre) ou un projet open source auquel on contribue. | ||
52 | Il contient maintenant un dossier caché: .git | ||
53 | |||
54 | 3/ récuperer l'URL du projet (bouton vert clone or download) | ||
55 | et lier le projet à notre dépôt local avec la commande: | ||
56 | git remote add OC https://github.com/OpenClassrooms-Student-Center/ProjetOpenSource.git | ||
57 | |||
58 | 4/ cloner le projet sur son propre dépôt github et entrer dedans: | ||
59 | git clone https://github.com/OpenClassrooms-Student-Center/ProjetOpenSource.git | ||
60 | cd ProjetOpenSource | ||
61 | Ce sous-dossier contient aussi un dossier caché .git | ||
62 | |||
63 | L'ensemble des fichiers et dossiers du projet est visible avec l'explorateur de fichiers. | ||
64 | Le terminal quand à lui va nous afficher des branches. | ||
65 | Au début, on a juste le "master", c'est à dire la version d'origine, on ne la modifiera jamais. | ||
66 | |||
67 | 5/ Créer une branche sur laquelle on codera: | ||
68 | git branch modifs | ||
69 | |||
70 | Lorsque le nouveau code sera satisfaisant, on pourra chercher à l'ajouter au "master". | ||
71 | Git est justement capable de fusionner proprement l'ancien code avec le nouveau | ||
72 | en sachant quelles sont les portions qui ont changé et si il y a des conflits entre branches. | ||
73 | Si on travaille à plusieurs, on confira une partie du projet à chaque personne, sans croisement. | ||
74 | |||
75 | Pour connaître les branches d'un projet: | ||
76 | git branch | ||
77 | J'obtients: | ||
78 | * master | ||
79 | modifs | ||
80 | Les fichiers que je vois dans l'explorateur de fichiers sont donc ceux du master. | ||
81 | |||
82 | 6/ Il est temps de coder! | ||
83 | On passe d'une branche à l'autre:. | ||
84 | git checkout modifs | ||
85 | git checkout master | ||
86 | Les fichiers visibles avec l'explorateur de fichiers sont maintenant ceux de la branche modifs. | ||
87 | Je suis dans une sorte de monde parallèle où je peux coder sans que ça impacte les originaux, | ||
88 | Je suis physiquement toujours dans le même dossier, mais dans une autre version de celui-ci. | ||
89 | |||
90 | projet | ||
91 | |-> .git | ||
92 | |-> nom_du_dossier cloné | ||
93 | |-> .git | ||
94 | |-> fichiers & dossiers sources | ||
95 | |||
96 | 7/ Quand j'ai fini de coder, j'enregistre les changements dans git: | ||
97 | git commit -m "nom descriptif pour s'y retrouver" | ||
98 | Le master ne change pas, ce qu'on vient de faire est une sorte de photo de la branche à un instant T. | ||
99 | |||
100 | 8/ Pour mettre à jour le master distant: | ||
101 | git push | ||
102 | Le mode de passe du compte sur le serveur est demandé. | ||
103 | |||
104 | 9/ Demander au responsable du projet open source d'intégrer notre travail au projet. | ||
105 | Lui laisser un commentaire avec des explications sur les "améliorations" apportées, | ||
106 | le responsable du projet acceptera ou non la mise à jour. | ||
107 | On appelle ça une "pull request". | ||
108 | |||
109 | |||
110 | projet open source | ||
111 | | ^ | ||
112 | fork pull request | ||
113 | v | | ||
114 | dépôt perso distant | ||
115 | / ^ | ||
116 | clonage commit + push | ||
117 | v | | ||
118 | dépôt local master => dépôt local branche | ||
119 | |||
120 | |||
121 | Travailler en local. | ||