web-dev-qa-db-fra.com

Comment valider une modification avec "message" et "description" à partir de la ligne de commande?

Je suis nouveau dans les domaines git et GitHub. J'ai réussi à tout installer localement sur mon Mac, de sorte que je puisse maintenant envoyer des commits à GitHub via git (sur la ligne de commande, pas sur l'application Mac).

Lorsque I Push commet directement depuis l'interface Web de GitHub (par exemple, corrige rapidement une faute de frappe), j'ai la possibilité de "commenter" le commit, et GitHub me donne un commit titre et un commit description. Je trouve cela très utile.

Néanmoins, quand je git Push de la machine locale, git ouvre mon éditeur par défaut: je rédige donc le commentaire de validation, puis GitHub le divise automatiquement en titre et "corps". Existe-t-il un moyen de faire de jolis commentaires depuis le terminal également?

319
whatyouhide

Il y a aussi un autre moyen droit et plus clair

git commit -m "Title" -m "Description ..........";
643
zzlalani

Utilisez la commande git commit sans aucun indicateur. L'éditeur configuré s'ouvrira (Vim dans ce cas):

enter image description here

Pour commencer à taper, appuyez sur le bouton INSERT sur votre clavier, puis en mode insertion, créez un meilleur commit avec une description comment vous voulez. Par exemple:

enter image description here

Une fois que vous avez écrit tout ce dont vous avez besoin pour revenir à git, vous devez d'abord quitter le mode insertion pour cette presse. ESC. Fermez maintenant l'éditeur Vim avec l'enregistrement des modifications en tapant sur le clavier :wq (w - write, q - quit):

enter image description here

et appuyez sur ENTER.

Sur GitHub, ce commit ressemblera à ceci:

enter image description here

En tant qu'éditeur de commit, vous pouvez utiliser VS Code :

git config --global core.editor "code --wait"

Depuis le site Web de VS Code docs: Code VS en tant qu'éditeur Git

Démonstration Gif: enter image description here

270
Mikhail
git commit -a -m "Your commit message here"

va rapidement valider toutes les modifications avec le message commit. Git commit "title" et "description" (comme vous les appelez) ne sont rien d'autre que la première ligne et le reste des lignes du message de validation, généralement séparées par une ligne vide, par convention. Donc, utiliser cette commande ne fera que valider le "titre" et pas de description.

Si vous voulez commettre un message plus long, vous pouvez le faire, mais cela dépend du shell que vous utilisez .

En bref, le moyen le plus rapide serait:

git commit -a -m $'Commit title\n\nRest of commit message...'
49
Yuval Adam

Si vous souhaitez améliorer le message de validation avec l'en-tête et le corps après avoir créé la validation, vous pouvez reformuler . Cette approche est plus utile car vous savez ce que le code fait seulement après l'avoir écrit.

git rebase -i Origin/master

Ensuite, vos commits apparaîtront:

pick e152ce2 Update framework
pick ffcf91e Some magic
pick fa672e1 Update comments

Sélectionnez le commit que vous souhaitez reformuler et sauvegarder.

pick e152ce2 Update framework
reword ffcf91e Some magic
pick fa672e1 Update comments

Maintenant, vous avez la possibilité d'ajouter un en-tête et un corps, la première ligne étant l'en-tête.

Create perpetuum mobile

Redesign laws of physics with a pinch of imagination. Open a wormhole in 23 dimensions. Add protection to avoid high instability.
0
tashuhka