{"id":21960398,"url":"https://github.com/adrienjoly/cours-git","last_synced_at":"2025-04-23T19:21:54.553Z","repository":{"id":40229911,"uuid":"150259489","full_name":"adrienjoly/cours-git","owner":"adrienjoly","description":"Cours d'initiation à git","archived":false,"fork":false,"pushed_at":"2022-10-06T04:22:38.000Z","size":1970,"stargazers_count":0,"open_issues_count":6,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-24T17:41:54.130Z","etag":null,"topics":["course-materials","git"],"latest_commit_sha":null,"homepage":"https://adrienjoly.com/cours-git","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrienjoly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-25T12:10:41.000Z","updated_at":"2020-04-26T06:01:54.000Z","dependencies_parsed_at":"2022-09-05T23:02:02.726Z","dependency_job_id":null,"html_url":"https://github.com/adrienjoly/cours-git","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienjoly%2Fcours-git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienjoly%2Fcours-git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienjoly%2Fcours-git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienjoly%2Fcours-git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrienjoly","download_url":"https://codeload.github.com/adrienjoly/cours-git/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227095974,"owners_count":17730366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["course-materials","git"],"created_at":"2024-11-29T09:58:51.478Z","updated_at":"2024-11-29T09:58:52.077Z","avatar_url":"https://github.com/adrienjoly.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo git](logo.png)\n\nCe 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`.\n\n#### Objectifs\n\n- Comprendre l’intérêt de `git` et GitHub\n- Découvrir la philosophie Open Source, et les principes de collaboration employés sur ces projets\n- Maîtriser les opérations et commandes de GIT de base: init, clone, checkout, merge, pull, push\n- Comprendre le concept de conflit, et savoir le résoudre\n- Application: forker un projet Github Pages fourni, y contribuer, puis proposer un Pull Request\n\n#### Compétences requises\n\n- Savoir utiliser le terminal/shell\n- Lire documentation et exemples en anglais sur internet\n\n## Première partie (2h)\n\n📌 Support de cours: \u003ca href=\"./slides/index.html\" target=\"_blank\"\u003eSlides\u003c/a\u003e (presser P pour afficher les notes)\n\n#### Programme\n\n- Cours: Introduction à git:\n  - problèmes et solutions\n  - terminologie, flot, commandes de base\n- TD 1.1: [Créer un dépôt `git` sur le serveur GitLab de l'EEMI](tutos/creer-depot-gitlab-eemi.md)\n- TD 1.2: [Collaborer sur un dépôt GitLab](tutos/collaborer-sur-un-depot-gitlab.md)\n\n#### *Pro tips*\n\n- Harmoniser l'encodage des fin de lignes\n- Visualisation de l'historique dans le terminal\n- Éviter d'avoir à taper son mot de passe Gitlab à chaque fois\n\n## Deuxième partie (2h)\n\n#### Programme\n\n- TD 2.1: [Résoudre un conflit de fusion](tutos/conflit-de-fusion.md)\n- TD 2.2: [Contribuer à un projet open-source sur GitHub](tutos/contribution-open-source.md)\n\n## Évaluation\n\nChaque étudiant(e) sera évalué(e) et noté(e) sur:\n- 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\n- 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\n\n... en respectant les consignes fournies.\n\n## Au delà du cours\n\n#### Pistes\n\nPour aller plus loin avec `git` et le monde open source:\n\n* Gestion de tickets (*issues*)\n* Tags et gestion de versions\n* Déploiement sur Heroku\n* Intégration continue et déploiement continu\n* Survol des licences open source\n* Étiquette dans projets open-source (bonnes pratiques de communication)\n\n#### Ressources\n\n- [CS Visualized: Useful Git Commands](https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1)\n- Exerciseur interactif (pour pratiquer): [Apprenez Git Branching](https://learngitbranching.js.org/)\n- Git: [Rudiments de Git](https://git-scm.com/book/fr/v1/D%C3%A9marrage-rapide-Rudiments-de-Git)\n- OpenClassrooms: [Gérez votre code avec Git et GitHub](https://openclassrooms.com/fr/courses/2342361-gerez-votre-code-avec-git-et-github) (videos)\n- OpenClassrooms: [Gérez vos codes source avec Git](https://openclassrooms.com/fr/courses/1233741-gerez-vos-codes-source-avec-git) (tuto)\n- Guide récapitulatif: [git - petit guide - no deep shit!](http://rogerdudler.github.io/git-guide/index.fr.html)\n- [Quel git workflow pour mon projet ? par @nicoespeon](http://www.nicoespeon.com/fr/2013/08/quel-git-workflow-pour-mon-projet/)\n- [4 branching workflows for Git – Patrick Porto – Medium](https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf)\n- The GitHub Blog: [Merge conflicts in the classroom](https://blog.github.com/2018-08-22-merge-conflicts-in-the-classroom/)\n- Exemples de dépôts open source sur GitHub:\n  - [Linux](https://github.com/torvalds/linux) (système d'exploitation)\n  - [Frogatto \u0026 Friends](https://github.com/frogatto/frogatto) (jeu vidéo)\n  - [Le Code Civil Français](https://github.com/steeve/france.code-civil)\n\n#### Ressources annexes au cours\n\n- [Apprendre à apprendre: deux modes d’apprentissage](http://www.internetactu.net/2015/09/08/apprendre-a-apprendre-14-deux-modes-dapprentissage/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrienjoly%2Fcours-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrienjoly%2Fcours-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrienjoly%2Fcours-git/lists"}