Dans tous les tutoriels Git que j'ai lus, ils disent que vous pouvez faire:
git init
git add .
git commit
Quand je fais cela, j'ouvre un gros fichier texte. Aucun des didacticiels ne semble aborder ce problème, donc je ne sais pas quoi faire avec le fichier ou quoi y mettre le cas échéant.
git
git-commit
Aléatoire
la source
la source
--global
pour changer la valeur par défaut?--global
modifierait pour l'utilisateur actuel et le--system
changerait pour tout le monde sur cet ordinateur.Comme mentionné par Ben Collins , sans l'
-m "..."
argument pour taper le commit en ligne (ce qui est généralement une mauvaise idée car cela vous encourage à être bref), ce "gros fichier texte" qui s'ouvre est une fenêtre dans laquelle taper le message de commit .Il est généralement recommandé d'écrire un résumé dans la première ligne, de sauter une ligne, puis d'écrire des notes plus détaillées en dessous; cela aide les programmes qui font des choses comme envoyer par courrier électronique les messages de validation avec une ligne d'objet appropriée et la liste complète des modifications apportées au corps.
Au lieu de changer la
EDITOR
variable shell, vous pouvez également changer l'éditeur utilisé en ajoutant les lignes supplémentaires dans votre~/.gitconfig
fichier:Cette deuxième ligne n'a en fait rien à voir avec votre problème, mais je la trouve vraiment utile pour que je puisse remplir mon
~/.gitignore
fichier avec tous ces types de fichiers dont je sais que je ne veux jamais, jamais, m'engager dans un référentiel.la source
Le fichier texte en cours d'ouverture est un résumé de l'opération de validation en cours. Le commit git vous dépose dans ce fichier afin que vous puissiez ajouter un message de commit en haut du fichier. Une fois que vous avez ajouté votre message, enregistrez et quittez ce fichier.
Il existe également un commutateur "-m msg" sur cette commande qui vous permet d'ajouter le message de validation sur la ligne de commande.
la source
Si vous êtes sous Mac OS X et que vous utilisez BBEdit, vous pouvez le configurer comme éditeur de choix pour les messages de validation:
Une fois l'édition terminée, enregistrez et fermez le fichier et git l'utilisera pour les commentaires.
la source
En supposant que votre éditeur utilise par défaut vi / vim, vous pouvez quitter l'éditeur de message de validation en tapant:
qui enregistrera et quittera le fichier de message de validation. Ensuite, vous reviendrez à la section de commande git normale.
Plus de commandes vi:
http://www.lagmonster.org/docs/vi.html
la source
esc
pour passer en mode commande avant de taper:x
pour enregistrer et quitter.Comme tous l'ont dit, c'est là que vous ajoutez votre commentaire de commit - mais pour certains, cela peut encore être déroutant, surtout si vous n'avez pas configuré les paramètres de votre éditeur et que vous ne savez pas ce qu'est le VI : alors vous pourriez être sous le choc , parce que vous penserez que vous êtes toujours dans le GIT-Bash
Dans ce cas, vous êtes en fait dans un éditeur de texte avec des façons intéressantes de gérer les choses et cet ensemble de commandes peut vous aider afin que vous puissiez passer votre premier commit et ensuite configurer un éditeur que vous connaissez ou l'utiliser comme l'occasion d'apprendre à l'utiliser.
la source
L'
-m
option de validation vous permet de saisir un message de validation sur la ligne de commande:la source
Lorsque vous créez un nouveau commit, git lance un éditeur de texte et y écrit des éléments.
En utilisant cet éditeur de texte, l'intention est que vous écriviez le message de validation qui sera associé à votre validation créée récemment.
Une fois que vous avez terminé, enregistrez et quittez l'éditeur de texte. Git utilisera ce que vous avez écrit comme message de validation.
Le message de validation a une structure particulière, décrite comme suit:
La première ligne du message de validation est utilisée comme en-tête (ou titre) du message. La longueur préférée de l'en-tête de validation est inférieure à 40 caractères, car c'est le nombre de caractères que github affiche sur l'onglet Commits d'un référentiel donné avant de le tronquer, ce que certaines personnes trouvent irritant.
Lors de la composition de l'en-tête, l'utilisation d'un verbe au présent en majuscule pour le premier mot est une pratique courante, mais pas du tout obligatoire.
Une nouvelle ligne délimite l'en-tête et le corps du message.
Le corps peut être ce que vous voulez. Un aperçu des changements introduits par votre commit est raisonnable. Certaines applications tierces utilisent des informations incluses dans le corps des messages de validation pour déclencher divers types de hooks (je pense à Gerrit et Pivotal Tracker, pour n'en nommer que deux).
Voici un exemple court et doux. Un début
#
indique un commentaire.Ici un M. Torvalds se prononce sur ce qui fait un bon engagement.
Et ici Tpope fait de même.
Comme indiqué dans plusieurs autres réponses, changer l'éditeur par défaut est une ligne de commande unique sur la ligne de commande.
Pour ma préférence:
la source
Essayez Escape puis ZZ, une fois que vous avez terminé de taper votre message. Comme d'autres l'ont dit, lorsque vous exécutez cette commande de validation, elle exécute en fait un éditeur de texte dans lequel entrer le message. Dans mon cas (OS X), c'était VI, que j'ai compris après quelques fouilles. Dans ce cas, appuyez sur Echap pour passer en mode "commande" (par opposition au mode INSERT) et entrez ZZ. Je suis sûr qu'il y a d'autres façons d'accomplir la tâche, mais cela l'a fait pour moi. N'ayant jamais utilisé VI ou emacs, cela ne m'était pas évident et n'était mentionné dans aucun des guides pour débutants que j'utilisais. Espérons que cela aide.
la source
La
git commit
commande ouvrira l'éditeur spécifié dans leEDITOR
variable d'environnement afin que vous puissiez entrer un commentaire de validation. Sur un système Linux ou BSD, cela devrait être vi par défaut, bien que n'importe quel éditeur devrait fonctionner.Entrez simplement vos commentaires et enregistrez le fichier.
la source
J'étais confus parce que j'essayais toujours d'entrer un nom de fichier après le: w dans VIM. Cela ne déclenche pas le commit. Au lieu de cela, j'ai continué à recevoir un message "Abandon de la validation en raison d'un message de validation vide". Ne mettez pas de nom de fichier après: w. : w enregistre le fichier dans .git / COMMIT_EDITMSG par défaut. Puis: q pour quitter pour terminer la validation. Vous pouvez voir les résultats avec git log.
la source
Maintenant que j'ai changé mon éditeur en emacs, tout fonctionne bien.
Mais avant de définir cela, "git commit -a" a ouvert gedit, mais s'est également immédiatement terminé par un "Aborting commit due to empty commit message.". L'enregistrement du fichier depuis gedit n'a eu aucun effet. La définition explicite de l'éditeur avec "git config --global core.editor" gedit "" a eu le même résultat.
Il n'y a rien de mal avec emacs, mais par curiosité, pourquoi cela ne fonctionne-t-il pas avec gedit, et y a-t-il un moyen de le faire fonctionner?
Merci.
la source
git config --global core.editor "gedit -s"
Pour ceux d'entre vous qui utilisent OS XI, cette commande fonctionne bien:
git config --global core.editor "open -t -W"
ce qui forcera git à ouvrir l'éditeur de texte par défaut (textedit dans mon cas) puis à attendre que vous quittiez l'application. Gardez à l'esprit que vous devez "Enregistrer" puis "Quitter" textedit avant que la validation ne soit effectuée. Il y a quelques autres commandes avec lesquelles vous pouvez jouer comme détaillé sur cette page:
Bibliothèque des développeurs Apple - Commande ouverte
Vous pouvez également essayer
git config --global core.editor "open -e -W"
si vous voulez que git ouvre toujours textedit quel que soit l'éditeur par défaut.la source
Ouais, assurez-vous d'avoir un ensemble d'éditeurs judicieux. Je ne sais pas ce que vous êtes l'éditeur par défaut, mais si, comme moi, il est nano (dira quelque part vers le haut après avoir tapé commit), il vous suffit de taper un commentaire, puis d'appuyer sur Ctrl-x pour terminer. Appuyez ensuite sur y, puis sur Entrée pour confirmer la validation.
De plus, si vous voulez voir une liste simple des fichiers, vous allez commettre plutôt qu'une énorme liste de différences avant d'essayer
la source
Lorsque vous effectuez le contrôle des révisions, vous devez toujours expliquer les modifications que vous avez apportées. Habituellement, la première fois que vous avez un commentaire tel que "Initial Commit".
Cependant, à long terme, vous voulez faire un bon commentaire pour chaque commit. Vous voudrez quelque chose de la forme:
la source
Étant nouveau sur Terminal également, "Escape and then ZZ" a fonctionné pour moi, j'ai ce problème depuis des mois et je n'ai pas pu trouver un moyen de le contourner.
Merci TheGeoff pour vos conseils simples!
la source
Ce qui suit est probablement le moyen le plus simple de valider toutes les modifications:
Bien sûr, il existe des moyens beaucoup plus détaillés de s'engager, mais cela devrait vous aider à démarrer.
la source