Création d'un dépôt (repository) Git local pour le projet

Clic sur le projet NetBeans puis menu Team > Git > Initialize Repository… ou bien clic droit sur le projet NetBeans > Versioning > Initialize Git Repository…

Indiquez le répertoire du dépôt. Laissez la valeur par défaut qui est le répertoire du projet. Une fenêtre output s'ouvre en bas de NetBeans, avec la commande git init lancée.

Si ça n'est pas déjà fait, vous pouvez configurer Git avec une configuration globale : menu Team > Repository > Open Global Configuration (ou bien menu Team > Git > Open Global Configuration). Dans le fichier .gitConfig qui est affiché, vous pouvez saisir le nom et l'email qui seront indiqués à chaque commit.

Code des couleurs

Si vous ouvrez le répertoire "Source packages", vous verrez que les noms des fichiers sont colorés en vert.

Voici le code couleur :

Commit du projet

Faites un commit du projet dans son état initial :

  1. Clic sur le projet à gauche (si un des fichiers du projet est sélectionné, le commit ne tiendra compte que de ce fichier).
  2. Menu Team > Commit... Une fenêtre pop-up s'ouvre. Ecrivez le message "Etat initial". Vous pouvez enlevez des fichiers du commit ou bien faire un diff avec l'état du fichier dans le HEAD (commit précédent qui n'existe pas à ce moment).
  3. Ne changez rien et cliquez sur Commit.

La fenêtre output contient les commandes git qui sont lancée :

Remarquez que les noms des fichiers qui étaient en vert sont maintenant en noir. Juste pour voir, modifiez, par exemple, la classe JAXRSConfiguration en ajoutant un espace non significatif et le nom du fichier sera coloré en bleu après la sauvegarde de la modification.

NetBeans permet d'ajouter (git add) des fichiers dans l'index (stage) de Git avant le commit ou bien de les faire ajouter automatiquement au momment du commit, comme on vient de le faire. C'est la 2ème façon que vous utiliserez pendant ces TPs.

Création d'un dépôt distant sur GitHub

Si vous ne l'avez pas déjà fait, il faut vous créer un compte dans GitHub. Allez à https://github.com/.

Créez ensuite un dépôt sur GitHub pour le projet : allez dans Github et créez un dépôt (clic sur "+" et "New Repository") du même nom que le projet : tpCustomerXxxxx. Ecrivez une description du dépôt. Ne créez pas de fichier README dans le dépôt.

Notez l'URL du dépôt (du type https://github.com/<nom GitHub>/tpCustomerXxxxx.git).

Sur le site de GitHub il faut maintenant générer un token qui sera utilisé pour accéder à GitHub depuis une ligne de commande git ou bien depuis NetBeans :

  1. Clic sur votre « photo » en haut à droite et choix de « Settings ».
  2. En profiter pour vérifier son email public.
  3. Dans le menu de gauche, clic sur « Developer settings ».
  4. Dans le menu de gauche, clic sur « Personal access tokens ».
  5. Clic sur le bouton « Generate new token ».
  6. Taper le mot de passe du compte GitHub.
  7. Taper « Push » ou autre chose dans le champ de texte « Note ».
  8. Cocher « repo ».
  9. Clic sur le bouton « Generate token ».
  10. Copier le token en cliquant sur la petite icône à droite de la valeur du token. C’est cette valeur qu’il faudra utiliser à la place du mot de passe depuis NetBeans. Coller cette valeur dans un fichier texte pour pouvoir la réutiliser plus tard.

Push du projet sur GitHub

Menu Team > Remote > Push

Dans "Repository URL", écrire l'URL du dépôt (du type https://github.com/<nom GitHub>/tpCustomerXxxxx.git), Dans User écrire votre nom ; dans Password, coller le token que vous venez de générer. Vous pouvez cocher "Save password" pour éviter d'avoir à redonner la valeur du token. Clic Next.

Dans la page suivante, cocher master. Clic Next.

Dans la page suivante, clic Finish.

Clic sur Yes pour la question "Branch "origin/master" created locally. Do you want to set up branch "master" to track the remote branch?". La commande git suivante est lancée :
git push https://github.com/<nom Git Hub>/tpCustomer.git refs/heads/master:refs/heads/master

Vérifiez sur GitHub que votre nouveau dépôt contient bien le projet.

Vous pouvez maintenant utiliser Git pour gérer les versions de votre projet et faire des push sur le dépôt GitHub.

Une vidéo YouTube qui montre comment faire suivre un projet NetBeans par Git, lancer des commits, créer un dépôt (repository) GitHub et faire des pushs sur ce dépôt GitHub. Une vidéo un peu plus longue mais plus complète (parle en particulier des branches) sur l'utilisation de Git avec NetBeans.

Quelques fonctionnalités de Git avec NetBeans

Ces fonctionnalités pourront vous être utiles dans la suite des TPs.

Quand on modifie du code, un crochet vert apparait dans la marge de gauche, jusqu'à ce qu'on lance un commit.

Pour chaque fichier, si on clique en haut sur "History" au lieu de "Source", on peut voir un historique des modifications, avec les commits qui ont été faits. Si on clique sur une ligne de l'historique on peut voir les modifications qui ont été faites, qui concernent cette ligne.

Afficher un historique des commits : Menu Team > Show History (git log)

Afficher les différences entre le répertoire de travail, l'index et le dépôt local : Menu Team > Show Changes

Annuler les modifications depuis le dernier commit : Menu Team > Revert Modifications... (git restore) Choix entre

Pour annuler un commit, menu Team > Revert/Recover (git revert ou git reset). Pour Revert Commit (git revert), on doit entrer un message car, en fait, un nouveau commit est ajouté qui effectue toutes les actions nécessaires pour défaire ce qui avait été fait dans le commit annulé.

Travail avec les branches (créer une branche, changer la branche en cours) : Menu Team > Branch/Tag.

Voir l'état des dépôts : menu Team > Repository > Repository Browser

Evidemment vous pouvez aussi lancer toutes les commandes Git en dehors de NetBeans en ouvrant une fenêtre shell (cmd sous Windows) dans le répertoire racine du projet.