2 votes

Automatiquement commit un fichier dans git

Existe-t-il un moyen de facilement commit un fichier dans git s'il a été mis à jour ?

Je veux prendre une liste de fichiers dans un répertoire, l'écrire dans un fichier texte, et commit dans git si elle a été modifiée. Je suppose que cela implique un commit commit qui crée la liste, puis exécute git add [file] puis git commit -m "Updating" mais je veux m'assurer qu'il ne sera pas cassé si je l'exécute dans un script cron.

Merci de votre attention !

3voto

slhck Points 209720

Vous pouvez simplement ajouter tous les fichiers qui ont été mis à jour avec

git add -u

Voir le manuel :

Correspondance unique <filepattern> contre des fichiers déjà suivis dans l'index plutôt que dans l'arborescence. Cela signifie qu'il ne mettra jamais en scène de nouveaux fichiers, mais qu'il mettra en scène les nouveaux contenus modifiés des fichiers suivis et qu'il supprimera les fichiers de l'index si les fichiers correspondants dans l'arborescence de travail ont été supprimés.

Si non <filepattern> est indiqué, la valeur par défaut est "." ; en d'autres termes, il s'agit de mettre à jour tous les fichiers suivis dans le répertoire actuel et ses sous-répertoires.

Cela présente l'avantage de n'ajouter que les fichiers qui ont été réellement modifiés et de ne pas ajouter les fichiers qui ne sont pas encore indexés.

Ensuite, il s'agit simplement d'engager ces changements comme vous l'avez proposé.

1voto

QAZ Points 121

Cette solution s'applique si le problème est de toujours ajouter ce seul fichier même si vous voulez ajouter manuellement d'autres fichiers :

Il y a des crochets. Vous pouvez par exemple créer un shellscript dans la section .git/hooks et le nommer pre-commit (n'oubliez pas de le rendre exécutable). Dans ce fichier, vous pouvez ajouter quelque chose comme git add -u $GIT_WORK_TREE/filename . Cela ajoutera toujours ce fichier automatiquement lors de la validation des modifications.

En $GIT_WORK_TREE fait référence à l'endroit où vous stockez vos fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X