D35 - TP1 - Premiers pas avec git
Pour une présentation rapide de Git lire : Git de base et Git avancé.
et surtout : https://www.atlassian.com/git/tutorials/comparing-workflows/
Git dans un entrepôt isolé
- Dans un répertoire
TEST
à la racine de votre compte:- créer un dossier pour votre projet
- en faire un entrepôt Git
- Mettre en place un mini projet java qui contient une Classe
Hello
(le programme Hello World !) dans un paquetagefr.univtln.<votrelogin>
- A chaque modification afficher le statut
- Ajouter les différents fichiers (staging puis commit)
- Afficher le journal
- Modifier le fichier java et afficher les différences puis faire un commit.
- Créer une autre branche de votre projet et basculer vers cette branche.
- Ajouter des fichiers et faire des modifications dans la nouvelle branches.
- Revenir dans la branche initiale et récupérer les modifications.
- “Taguer” la version courante et continuer à faire des modifications.
- Faire un clone du projet à la version taguée.
Collaboration "Locale"
- Dans le répertoire
~/TEST
cloner votre répertoire Git d’origine vers un répertoire “bare” - Créer deux clone du répertoire “bare”
- Faire des modifications dans le premier et mettre à jour le second
- Faire l’inverse
- Faire des modifications dans le même fichier dans les deux projets sans pull préalable
pousser un puis l’autre pour provoquer un conflit et régler le conflit.
Collaboration "Distante"
- vous pouvez travailler en ligne sur github (vient le lien reçu “D35 TP1”) il s’agit d’un clone d’un entrepôt de base d’un projet java.
- Vous pouvez ajouter des remotes d’autres étudiants et s’ils vous donne les droits :
- Pousser vos modifications.
- Récupérer les modifications.
- Sinon faire des pull/request.
- A partir de là travailler tous ensemble sur le même projet :
- l’accès au repository commun est présenté dans le channel #d35 de slack.
- chacun peut créer une classe Test dans son propre paquetage (avec des login différents) avec une méthode String sayName() qui retourne son login.
Utilisation avancée
- Etudier les fonctions avancées de mise à jour de l’historique : http://git-scm.com/book/fr/Les-branches-avec-Git-Rebaser
- Mise en place de gitflow avec Java/Maven
IDE
- Tester le plugin Git dans eclipse et/ou dans IntelliJ Idea.