aboutsummaryrefslogtreecommitdiff
path: root/tuto git.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tuto git.txt')
-rw-r--r--tuto git.txt121
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 @@
1cours git openclassrooms
2
3https://openclassrooms.com/fr/courses/5641721-utilisez-git-et-github-pour-vos-projets-de-developpement
4https://wiki.archlinux.org/index.php/git
5
6
7Git 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
11En gros, il garde le code source d'un projet en gardant les anciennes versions,
12De plus, il note quel utilisateur à déposé quel code.
13Un code peut donc être vérifié par tout le monde avant que soit mis à jour le fichier principal.
14
15C'est un système distribué, il est possible de se connecter à n'importe quel dépôt de la même manière.
16Il sont interconnectés et apparaissent à l'utilisateur comme un seul serveur.
17
18
19Configuration avec la console.
20
21On doit d'abord donné un nom d'utilisateur et un mot de passe:
22git config --global user.name "John Doe"
23git config --global user.email johndoe@example.com''
24
25Pour activer les couleurs:
26git config --global color.diff auto
27git config --global color.status auto
28git config --global color.branch auto
29
30Choix d'un éditeur (par défaut vim, on peut en choisir un graphique):
31git config --global core.editor nano
32git config --global merge.tool vimdiff
33
34Pour le master se nomme toujours master:
35git config --global init.defaultBranch master
36
37Pour afficher toutes les règles choisies:
38git config --list
39
40
41Aspect général de l'utilisation de git.
42
431/ 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
472/ Sur son PC, créer un dossier avec le nom du projet, puis initialiser:
48 mkdir projet
49 cd projet
50 git init
51Ce "projet" peut être perso (et hébergé sur github ou autre) ou un projet open source auquel on contribue.
52Il contient maintenant un dossier caché: .git
53
543/ récuperer l'URL du projet (bouton vert clone or download)
55et 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
584/ 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
61Ce sous-dossier contient aussi un dossier caché .git
62
63L'ensemble des fichiers et dossiers du projet est visible avec l'explorateur de fichiers.
64Le terminal quand à lui va nous afficher des branches.
65Au début, on a juste le "master", c'est à dire la version d'origine, on ne la modifiera jamais.
66
675/ Créer une branche sur laquelle on codera:
68 git branch modifs
69
70Lorsque le nouveau code sera satisfaisant, on pourra chercher à l'ajouter au "master".
71Git est justement capable de fusionner proprement l'ancien code avec le nouveau
72en sachant quelles sont les portions qui ont changé et si il y a des conflits entre branches.
73Si on travaille à plusieurs, on confira une partie du projet à chaque personne, sans croisement.
74
75Pour connaître les branches d'un projet:
76 git branch
77J'obtients:
78 * master
79 modifs
80Les fichiers que je vois dans l'explorateur de fichiers sont donc ceux du master.
81
826/ Il est temps de coder!
83On passe d'une branche à l'autre:.
84 git checkout modifs
85 git checkout master
86Les fichiers visibles avec l'explorateur de fichiers sont maintenant ceux de la branche modifs.
87Je suis dans une sorte de monde parallèle où je peux coder sans que ça impacte les originaux,
88Je suis physiquement toujours dans le même dossier, mais dans une autre version de celui-ci.
89
90projet
91 |-> .git
92 |-> nom_du_dossier cloné
93 |-> .git
94 |-> fichiers & dossiers sources
95
967/ Quand j'ai fini de coder, j'enregistre les changements dans git:
97 git commit -m "nom descriptif pour s'y retrouver"
98Le master ne change pas, ce qu'on vient de faire est une sorte de photo de la branche à un instant T.
99
1008/ Pour mettre à jour le master distant:
101 git push
102Le mode de passe du compte sur le serveur est demandé.
103
1049/ Demander au responsable du projet open source d'intégrer notre travail au projet.
105Lui laisser un commentaire avec des explications sur les "améliorations" apportées,
106le responsable du projet acceptera ou non la mise à jour.
107On 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 |
118dépôt local master => dépôt local branche
119
120
121Travailler en local.