| @@ -0,0 +1,71 @@ | |||
| # Cours Python E2L - 16 mai 2020 - par internet | |||
| # Git - 2ème partie | |||
| ## Notes | |||
| Ces notes accompagnent la vidéo disponible sur le site de l'E2L. | |||
| * 13:56 | |||
| Dit autrement, si `foo.py` et `bar.py` ont le même contenu, il n'y aura | |||
| qu'un seul "blob" pour ce contenu. (et un tree à deux éléments) - | |||
| On appelle ce phénomène une *déduplication*. | |||
| Une autre optimisation consiste à stocker des *différences*. Par exemple, si le mardi foo.py contient 3 lignes, et le mercredi seule la 2ème ligne | |||
| a changé, git ne stockera qu'une ligne au lieu de 3) | |||
| Git combine tout cela pour faire des *packs*, mais c'est un poil complexe donc | |||
| je vais pas rentrer trop dans les détails. | |||
| * 17:11 | |||
| `git log` peut s'utiliser avec plein d'options. On peut aussi utiliser | |||
| `got log -p` pour voir les modifications apportées par chaque commit, | |||
| avec en rouge ce qui a été supprimé, et en vert ce qui a été | |||
| rajouté. | |||
| * 18:36 | |||
| Certains forges autorisent même d'avoir des permissions spécifiques à certaines branches. | |||
| * 28:52 | |||
| Ma langue a fourché: | |||
| * les changements dans "Staged Changes" en bas feront partie du prochain commit | |||
| * les changements dans "Unstaged Changes" en haut ne feront pas partie du prochain commit. | |||
| * 29:56 | |||
| Précision: `git branch` sans arguments liste toutes les branches locales. La branche courante | |||
| est représentée par une étoile en début de ligne et une couleur différente. | |||
| * 30:10 | |||
| Nommer des choses en informatique c'est toujours compliqué - que ce soit les noms | |||
| de variables, de fonctions de classes ou de branches :P | |||
| * 41:07 | |||
| Un point important que j'ai oublié de mentionner : la commande `pull` qu'on a utilisé | |||
| est simplement une combinaison de `fetch` puis `merge`, en tout cas dans les cas simples. | |||
| * 41:51 | |||
| J'ai pas été très clair ici : certaines des fonctionnalités de `git gui` | |||
| que je vous ai montrées sont aussi faisables directement avec la commande | |||
| `git add -p`. | |||
| * 51:59 | |||
| D'ailleurs si vous avez un git assez récent, vous verrez que | |||
| les fonctionnalités de `checkout` on été découpées en deux | |||
| avec d'un côté `git switch` et de l'autre `git restore`. | |||
| Je vous recommande d'utilisez celles-là si vous pouvez. | |||
| (moi j'utilise tout le temps `checkout` par habitude) | |||
| * 52:38 | |||
| Le livre officiel sur Git, en Français, très complet : https://git-scm.com/book/fr/v2 | |||