UNIVERSITY OF OTTAWA SEG 2900 TECHNOLOGIES WEB PROJET DE DÉMARRAGE SEG2900 COURS 1.5 Récapitulation du dernier cours ● Aperçu du cours ● Équipe, Produit, Projet ● Configuration pour GIT UNIVERSITY OF OTTAWA WEB TECHNOLOGIES - MODULE 1 - APPENDIX A PROJET STARTUP INTRODUCTION À GIT COURS 1.5 TERMINAL (Mac OS X & Linux) Git Bash (Windows) Ceux-ci sont des interfaces de ligne de commande. Vous les utiliserez plutôt que l'interface visuelle habituelle (comme l'explorateur de fichiers ou le Finder) DÉMO QU’EST-CE QUE GIT? http://www.caseyli.com/videos “Gitting to know you” sur YouTube Git est un système de contrôle de source permettant d’enregistrer toutes les modifications apportées à votre code et de collaborer avec d’autres. Un référentiel Git est essentiellement un dossier géré par Git. Il s’agit essentiellement d’un dossier dont toutes les modifications apportées peuvent être enregistrées. Important! Tout comme vous créez un dossier pour chaque projet sur lequel vous travaillez, il est probable que vous créiez un dépôt Git pour chaque projet sur lequel vous travailliez. USAGE de GIT Après avoir installé Git, vous pouvez transformer n’importe quel dossier de votre ordinateur en un référentiel Git en tapant git init La meilleure façon de penser à Git est que vous enregistrez des instantanés de votre code. 1. Vous apportez des modifications à vos fichiers. 2. Vous marquez les fichiers que vous souhaitez inclure dans le prochain instantané. 3. Vous créez la capture instantanée avec un message. Nous appelons ces instantanés "commits". Disons que nous avons un dossier de fichiers. my_folder ● index.html ● about.html ● home.html ● contact.html ● style.css ● main.js ● README.txt Et disons que nous faisons des changements ... my_folder ● index.html ● about.html ● home.html ● contact.html ● style.css ● main.js ● README.txt Et maintenant, nous voulons enregistrer ces modifications dans un instantané my_folder ● index.html ● about.html ● home.html ● contact.html ● style.css ● main.js ● README.txt Fichiers modifiés Zone de transit Engagé (commit) index.html home.html about.html style.css index.html home.html index.html home.html Marquez les fichiers que vous souhaitez inclure dans le prochain instantané Vous créez la capture instantanée avec un commentaire. Zone de transit Fichiers modifiés index.html home.html about.html style.css index.html home.html git add <filename> Engagé index.html home.html git commit -m “Message” Flux de travail typique 1. Apporter des modifications aux fichiers 2.git status 3.git add <files> 4.git commit -m “Message” Hint: git add . est un moyen très courant d'ajouter tous les fichiers modifiés à la zone de stockage intermédiaire sans avoir à les nommer individuellement. DÉMO RÉFÉRENTIELS GIT DISTANTS Git Remotes Au bout d'un moment, vous allez vous retrouver avec une série d'instantanés ou de commits. Comment partagez-vous cela avec vos coéquipiers? Git Remotes Vous pouvez copier l'intégralité de votre dépôt Git (tous les fichiers et toutes les modifications) dans un référentiel Git Distant (Git Remote). Git Remotes Les référentiels distants ne sont que des référentiels Git avec lesquels vous synchronisez. Après la synchronisation, votre référentiel local et le référentiel distant contiendront exactement les mêmes informations (tous les instantanés, validations, etc.). Git Remotes Staging Modify Commit Votre référentiel Git Votre machine Commit 1 Commit 2 Commit 3 Commit 4 Commit 5 Git Remotes Staging Modify Commit Votre référentiel Git Votre machine Commit 1 Commit 2 Commit 3 Commit 4 Commit 5 Référentiel Git distant Git Remotes Staging Modify Commit Votre référentiel Git Votre machine Commit 1 Commit 2 Commit 3 Commit 4 Commit 5 Référentiel Git distant Git Remotes Staging Modify Commit Votre référentiel Git Votre machine Commit 1 Commit 2 Commit 3 Commit 4 Commit 5 Commit 1 Commit 2 Commit 3 Commit 4 Commit 5 Référentiel Git distant Git Remotes Il n'y a pas de limite au nombre de référentiels Git distants vers lesquels vous pointez. Git Remotes Votre référentiel Git Référentiel Git distant 1 Votre machine Référentiel Git distant 2 Référentiel Git distant 3 Git Remotes «Distant» et «Local» sont des termes relatifs qui dépendent de l’endroit où vous parlez. Les référentiels eux-mêmes ne sont que des référentiels Git. Git Remotes Il serait bon que votre équipe se mette d’accord sur un référentiel Git distant central avec lequel synchroniser votre référentiel. Ainsi, toute votre équipe pourra synchroniser ses référentiels locaux avec cet emplacement central. Git Remotes Référentiel Git distant 1 Référentiel Git distant 2 Votre référentiel Git Votre machine Référentiel Git distant 3 Git Remotes Référentiel Git distant 1 Référentiel Git distant 2 Votre référentiel Git Votre machine Référentiel Git distant 3 (Référentiel Central convenu) Git Remotes Référentiel Git distant 1 Référentiel Git distant 2 Votre référentiel Git Votre machine Référentiel Git distant 3 (Référentiel Central convenu) Git Remotes Référentiel Git distant 1 Référentiel Git distant 2 Votre référentiel Git Votre machine Machine de Coéquipier Référentiel Git distant 3 (Référentiel Central convenu) Machine de Coéquipier Machine de Coéquipier GITHUB Git Remotes Vous pouvez configurer votre référentiel Git Remote n'importe où, mais nous allons utiliser un service appelé GitHub pour héberger notre référentiel Git distant. Git Remotes Référentiel Git distant 1 Référentiel Git distant 2 Votre référentiel Git Votre machine Machine de Coéquipier Référentiel Git distant 3 (Référentiel Central convenu) Machine de Coéquipier Machine de Coéquipier Git Remotes Référentiel Git distant 1 Référentiel Git distant 2 Votre référentiel Git Votre machine Référentiel Git distant 3 (Référentiel Central convenu) Machine de Coéquipier HÉBERGÉ SUR GITHUB Machine de Coéquipier Machine de Coéquipier Git Remotes De même que vous avez un dossier distinct pour chaque projet, vous devez disposer d’un référentiel Git distinct pour chaque projet et d’un référentiel Git Remote séparé sur GitHub pour chaque projet ... Votre Machine Votre référentiel Git local Votre référentiel Git local Votre référentiel Git local Votre référentiel Git local Référentiel Git distant Référentiel Git distant Référentiel Git distant Référentiel Git distant HÉBERGÉ SUR GITHUB Git Remotes Pour commencer, vous devrez configurer un référentiel distant sur GitHub. TRAVAILLER AVEC UN DÉPÔT À DISTANCE SI VOUS AVEZ COMMENCÉ LE PROJET ... Git Remotes Votre référentiel Git local Votre Machine Git Remotes Votre référentiel Git local Votre Machine Référentiel Git distant 3 (Référentiel Central convenu) HÉBERGÉ SUR GITHUB Git Remotes Votre référentiel Git local Votre Machine Référentiel Git distant 3 (Référentiel Central convenu) HÉBERGÉ SUR GITHUB Git Remotes Pour démarrer la synchronisation avec un référentiel distant, vous devez 1. Créer un réfé local 2. Créer un référentiel distant sur Github 3. Ajoutez son adresse à votre machine locale. git add remote <name> <git address> Exemple git add remote origin git@github.com:caseyli/mybusiness.git Git Remotes Pour démarrer la synchronisation avec un référentiel distant, vous devez 4. Faites votre première poussée (push) vers le référentiel distant git push origin master SI VOUS VOULEZ TRAVAILLER SUR UN PROJET D’UNE AUTRE PERSONNE... Git Remotes Référentiel Git Original Machine Originale Référentiel Git distant 3 (Référentiel Central convenu) HÉBERGÉ SUR GITHUB Git Remotes Référentiel Git Original Machine Originale Référentiel Git distant 3 (Référentiel Central convenu) HÉBERGÉ SUR GITHUB Votre référentiel Git local Votre Machine git clone Si vous souhaitez travailler sur le référentiel de quelqu'un, vous pouvez le cloner comme point de départ git clone git@github.com:some_repo.git APRÈS AVOIR ÉTÉ INSTALLÉ ... git push Comment synchronisez-vous votre référentiel local avec le référentiel distant? Tout d'abord, vous pouvez appliquer vos modifications au référentiel distant. git push <name of remote> <name of branch> Exemple git push origin master git pull Vous pouvez récupérer les dernières modifications à tout moment depuis votre remote en utilisant git pull Git Remotes Référentiel Git Original Machine Originale git pull git push git pull Référentiel Git distant 3 (Référentiel Central convenu) HÉBERGÉ SUR GITHUB git push Votre référentiel Git local Votre Machine 2 Notes Importantes! 1. Pour ce cours, vous devrez configurer une organisation GitHub pour votre équipe. Ensuite, vous devrez configurer votre référentiel distant Git sous cette organisation. 2. Le nom du référentiel doit suivre les instructions sur pages.github.com (organizationname.github.io) MANIÈRE RECOMMANDÉE DE PROCÉDER 1. PRATIQUEZ PAR VOUS-MEME Manière recommandée de procéder 1. Pratique personnelle a. Configurer un référentiel sur votre machine locale i. Créez votre propre dossier ii.git init iii. Faire des changements iv. Stage & Commit b. Installer un dépôt distant personnel sur GitHub c. Pratiquer à pousser Créer un repo local Votre référentiel Git local Votre Machine Créer un repo GitHub Votre référentiel Git local Votre Machine GITHUB REPO Push à Repo GitHub Votre référentiel Git local Votre Machine GITHUB REPO Push à Repo GitHub Votre référentiel Git local Votre Machine GITHUB REPO 2. Configurez votre dépôt d'équipe Créer un repo local Votre référentiel Git local Votre Machine Créer un repo GitHub Votre référentiel Git local Votre Machine GITHUB REPO Push à Repo GitHub Votre référentiel Git local Votre Machine GITHUB REPO Coéquipiers Clone Repo Votre référentiel Git local Votre machine Machine de Coéquipier GITHUB REPO Machine de Coéquipier Machine de Coéquipier Configuration pour Push/Pull Votre référentiel Git local Votre machine Machine de Coéquipier GITHUB REPO Machine de Coéquipier Machine de Coéquipier http://www.caseyli.com/videos “Gitting to know you” sur YouTube Document du Cours Le document de cours contient des descriptions plus détaillées de chaque cours. Il contient également tous les détails des produits livrables dont vous êtes responsable et toutes les ressources susceptibles de vous aider. Exemple de Solution https://github.com/uottawa-seg1911-web/uottawa-seg1911-web.github.io DGD Traitez cela comme du temps consacré à travailler sur votre projet. Les TAs seront là pour vous guider et vous guider. Participation obligatoire. http://www.caseyli.com/uo Mon Contact J'aimerais coordonner avec vos équipes en dehors des heures normales. Considérez-moi comme votre mentor pour cette startup. Casey Li casey.li@gmail.com casey.li@bitesite.ca LE PROFESSEUR ET LES TAS SONT L’AUTORITÉ!