Tuto Partie 3 : Au quotidien
Vous disposez maintenant d'un dépôt de vos sources chez un hébergeur de confiance, d'un dépôt local représentant une copie de ce dépôt distant pour travailler confortablement, et d'un accès privilégié à ce dépôt distant grâce à une clé cryptée réputée inviolable (ou très difficilement) !
Vous pouvez maintenant travailler tranquillement dans votre dépôt local, créer, modifier, supprimer des fichiers et des répertoires exactement comme avant, sans vous préoccuper de rien. Mais au bout d'un moment vous allez vouloir sauver vos fichiers dans votre dépôt local, voire envoyer le fruit de votre dur labeur vers votre dépôt distant, pour le sauver, mais aussi peut être pour le partager...
Votre dépôt local n'est pas qu'un simple répertoire, c'est aussi un historique de vos modifications qui est conservé, et auquel vous pouvez revenir à n'importe quel moment... Envoyer vos fichiers vers ce dépôt local correspond donc à l'enregistrement de l'état de ces fichiers et répertoires à l'instant 't', sous un nom bien précis. A tout moment, vous pourrez annuler une modification et revenir à un état antérieur, comparer votre source actuel à ce qu'il a été à une date ou une version précise... Bref, c'est beaucoup plus qu'une simple sauvegarde de vos sources ! Voyons comment procéder.
Lancez Git Extensions et ouvrez votre dépôt. Dans la barre d'icônes en haut, vous en avez une qui attire l'oeil, 'Commiter', suivi d'un nombre.
C'est le nombre de modifications que Git a détecté dans l'ensemble de ce dépôt. Cette recherche est automatique, et concerne absoument tous les fichiers présents dans le répertoire du dépôt, pas seulement les sources. En cliquant sur cette icône, Git extensions ouvre une nouvelle fenêtre qui va vous permettre de mieux comprendre ces modifications.
En haut à gauche, tous les fichiers détectés différents, avec le type de modification comme icône (ajout, suppression, modification...). Si vous sélectionnez un fichier, vous verrez à droite un récapitulatif des modifications apportées, avec sur fond rouge les anciennes lignes, et sur fond vert les nouvelles. Dans le cas d'un ajout ou d'une supression, c'est le contenu du fichier qui est affiché. Avant de passer à la suite, il peut être nécessaire de limiter la recherche de ces modifications sur des fichiers que vous ne pousserez jamais dans le dépôt, comme des résultats de compilation, des fichiers temporaires, ou des fichiers personnels. C'est le rôle d'un petit fichier texte apparu à la racine de votre dépôt et qui s'appelle '.gitignore'. Il recense les fichiers et répertoires que vous n'avez pas envie de voir apparaître ici, dans la liste des fichiers modifiés. Si l'un de ceux que vous voyez est dans ce cas, vous avez deux solutions. Soit éditer manuellement '.gitignore' et y ajouter le nom incriminé (répertoire, nom générique comme *.txt, ou nom précis), soit utiliser la commande du menu contextuel du fichier 'Ajouter le fichier à .gitignore'.
Une fois le ménage fait dans les fichiers modifiés, il faut dire à Git lesquels représentent bien ce qui doit être mis au dépôt. Git dit 'indéxer un fichier'. Désindexer est bien sûr l'opération inverse. Les quatre petites flèches violettes de gauche permet de construire la liste du bas, qui représente ce que vous voulez commiter, c'est à dire envoyer au dépôt. Il n'est pas toujours souhaitable de tout commiter. Par exemple si vous voulez mettre une petite correction à disposition alors que vous avez touché à autre chose...
Une fois le choix fait, vous pouvez commiter, c'est à dire enregistrer ces modifications comme étant l'état de votre dépôt local.
Pour l'instant, vous avez travaillé localement... Si vous êtes sûr de vos modifications, alors vous pouvez peut être les 'pousser', c'est à dire les envoyer -aussi- vers le dépôt distant. En effet, votre dépôt distant ne peux pas prendre des modifications différentes de celles que vous avez commité localement. Sinon il en résulterait un décalage qui ne peux pas fonctionner. Pas contre vous pouvez commiter plusieurs fois localement, avant de tout pousser d'un seul coup chez Framasoft !
Bref, dans cette fenêtre, vous 'commitez', ou vous 'commitez' et 'poussez' en même temps ! Pour que la manip puisse avoir lieu, n'oubliez pas de donner un message de commit, c'est obligatoire. Enfin les autres boutons vous proposent de réinitialiser les fichiers de la liste des indexés pour les ramener dans l'état précédent. Attention, vous perdrez vos modifications !