An open API service indexing awesome lists of open source software.

https://github.com/adrienjoly/cours-git

Cours d'initiation à git
https://github.com/adrienjoly/cours-git

course-materials git

Last synced: 6 months ago
JSON representation

Cours d'initiation à git

Awesome Lists containing this project

README

          

![Logo git](logo.png)

Ce support de cours a été conçu en 2018 par Adrien Joly, pour initier les étudiants de l'EEMI à l'utilisation de l'outil `git`.

#### Objectifs

- Comprendre l’intérêt de `git` et GitHub
- Découvrir la philosophie Open Source, et les principes de collaboration employés sur ces projets
- Maîtriser les opérations et commandes de GIT de base: init, clone, checkout, merge, pull, push
- Comprendre le concept de conflit, et savoir le résoudre
- Application: forker un projet Github Pages fourni, y contribuer, puis proposer un Pull Request

#### Compétences requises

- Savoir utiliser le terminal/shell
- Lire documentation et exemples en anglais sur internet

## Première partie (2h)

📌 Support de cours: Slides (presser P pour afficher les notes)

#### Programme

- Cours: Introduction à git:
- problèmes et solutions
- terminologie, flot, commandes de base
- TD 1.1: [Créer un dépôt `git` sur le serveur GitLab de l'EEMI](tutos/creer-depot-gitlab-eemi.md)
- TD 1.2: [Collaborer sur un dépôt GitLab](tutos/collaborer-sur-un-depot-gitlab.md)

#### *Pro tips*

- Harmoniser l'encodage des fin de lignes
- Visualisation de l'historique dans le terminal
- Éviter d'avoir à taper son mot de passe Gitlab à chaque fois

## Deuxième partie (2h)

#### Programme

- TD 2.1: [Résoudre un conflit de fusion](tutos/conflit-de-fusion.md)
- TD 2.2: [Contribuer à un projet open-source sur GitHub](tutos/contribution-open-source.md)

## Évaluation

Chaque étudiant(e) sera évalué(e) et noté(e) sur:
- l'existence d'un dépôt comprenant un commit de sa création + d'un(e) autre étudiant(e) de 1A, sur son profil GitLab
- l'envoi d'une demande de fusion confirmée au [trombinoscope open source sur GitHub](https://github.com/eemi-aj/trombi), en utilisant son adresse email EEMI

... en respectant les consignes fournies.

## Au delà du cours

#### Pistes

Pour aller plus loin avec `git` et le monde open source:

* Gestion de tickets (*issues*)
* Tags et gestion de versions
* Déploiement sur Heroku
* Intégration continue et déploiement continu
* Survol des licences open source
* Étiquette dans projets open-source (bonnes pratiques de communication)

#### Ressources

- [CS Visualized: Useful Git Commands](https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1)
- Exerciseur interactif (pour pratiquer): [Apprenez Git Branching](https://learngitbranching.js.org/)
- Git: [Rudiments de Git](https://git-scm.com/book/fr/v1/D%C3%A9marrage-rapide-Rudiments-de-Git)
- OpenClassrooms: [Gérez votre code avec Git et GitHub](https://openclassrooms.com/fr/courses/2342361-gerez-votre-code-avec-git-et-github) (videos)
- OpenClassrooms: [Gérez vos codes source avec Git](https://openclassrooms.com/fr/courses/1233741-gerez-vos-codes-source-avec-git) (tuto)
- Guide récapitulatif: [git - petit guide - no deep shit!](http://rogerdudler.github.io/git-guide/index.fr.html)
- [Quel git workflow pour mon projet ? par @nicoespeon](http://www.nicoespeon.com/fr/2013/08/quel-git-workflow-pour-mon-projet/)
- [4 branching workflows for Git – Patrick Porto – Medium](https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf)
- The GitHub Blog: [Merge conflicts in the classroom](https://blog.github.com/2018-08-22-merge-conflicts-in-the-classroom/)
- Exemples de dépôts open source sur GitHub:
- [Linux](https://github.com/torvalds/linux) (système d'exploitation)
- [Frogatto & Friends](https://github.com/frogatto/frogatto) (jeu vidéo)
- [Le Code Civil Français](https://github.com/steeve/france.code-civil)

#### Ressources annexes au cours

- [Apprendre à apprendre: deux modes d’apprentissage](http://www.internetactu.net/2015/09/08/apprendre-a-apprendre-14-deux-modes-dapprentissage/)