112 votes

Comment puis-je livrer des fichiers avec git ?

Aucun des tutoriels n'est utile !
Ils font tous cette chose où ils supposent que je sais ce qu'il faut faire.

Actuellement, ma fenêtre de terminal commence par .

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    httpdocs/newsite/manifest/cache/0a432970ba6491fe65dad60b012e5c95_louloumay2011en-1-4dea3186b7f7b.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0a61b5d7a9e97da78fe602e1ad41edb6_5-4dec7c3d57c80.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0afb6a7716a85d0de46cdd03bb30f75f_fifa_panorama_full_page-01_thu-4dea3d1a0e0f5.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0b3bc9be76a5d3e1e36af4b8dcf98658_free2-4df0e2e08761f.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0b6342913b8e599fac76da452af98ec5_si-feb-2009-1-4dea3d1abcb61.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0b9ddc587340f7744e03c4b2dafacf7f_lou-lou-winter-2009-cover-4dea3d1a9b1a0.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0bf64ff8fc22720b3da20d0730fa6a04_chatelaine-dec-2009-4dea3d18daa30.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0bf664e03eb0a2255b69b02aed85add0_summumfeb2011-2-4dea3188766aa.jpg

mais il n'y a aucun moyen de savoir comment faire ce qu'ils disent de faire ici
http://learn.github.com/p/normal.html

Tout ce qu'il dit, c'est

Nous saisissons simplement notre message de validation et quittons l'éditeur.

Qu'est-ce que cela signifie ?
Ce n'est pas parce que vous écrivez le mot simplement ne signifie pas qu'il est simple..

Quand je commence à taper, il fait des trucs bizarres, il dit "enregistrement" ou "insertion" et il y a environ 300 fichiers, et il veut que je remplace chaque ligne par un message ?!?

Aide !

J'utiliserais bien leur application Mac pour cela, mais si le nombre de fichiers est supérieur à 20, elle se bloque !
Qu'est-ce qui se passe ?

109voto

Ben James Points 41165

Lorsque vous exécutez git commit sans arguments, il ouvrira votre éditeur par défaut pour vous permettre de saisir un message de validation. L'enregistrement du fichier et la sortie de l'éditeur effectuent la validation.

Il semble que votre éditeur par défaut soit Vi ou Vim. La raison pour laquelle des "choses bizarres" se produisent lorsque vous tapez est que Vi ne démarre pas en mode insertion - vous devez appuyer sur i sur votre clavier d'abord ! Si vous ne le souhaitez pas, vous pouvez le remplacer par quelque chose de plus simple, par exemple :

git config --global core.editor nano

Vous chargerez alors l'éditeur Nano (en supposant qu'il soit installé !) lors de la validation, ce qui est beaucoup plus intuitif pour les utilisateurs qui n'ont pas utilisé d'éditeur modal tel que Vi.

Le texte qui s'affiche sur votre écran ne fait que vous rappeler ce que vous êtes sur le point de faire. Les lignes sont précédées par # ce qui signifie qu'il s'agit de commentaires, c'est-à-dire que Git ignore ces lignes lorsque vous enregistrez votre message de livraison. Il n'est pas nécessaire de saisir un message par fichier, il suffit d'entrer du texte en haut de la mémoire tampon de l'éditeur.

Pour contourner l'éditeur, vous pouvez fournir un message de livraison comme argument, par exemple

git commit -m "Added foo to the bar"

58voto

Oner Ksor Points 196

En standard Vi editor dans cette situation vous devriez

  1. appuyer sur Esc
  2. type ":wq" (sans les guillemets)
  3. Appuyer sur Entrée

31voto

Mark Longair Points 93104

Il semble que le seul problème soit que l'éditeur par défaut qui est lancé est vi o vim avec lequel vous n'êtes pas familier. (Pour quitter l'éditeur sans enregistrer les modifications, appuyez sur Esc plusieurs fois, puis tapez : , q , ! y Enter .)

Il existe plusieurs façons de configurer votre éditeur par défaut, et vous n'avez pas indiqué quel système d'exploitation vous utilisez, il est donc difficile d'en recommander un en particulier. Je suggérerais d'utiliser :

 git config --global core.editor "name-of-your-editor"

... qui définit une préférence globale de git pour un éditeur particulier. Alternativement, vous pouvez définir l'option $EDITOR variable d'environnement.

19voto

Ali Points 5091

La commande pour livrer tous les fichiers modifiés :

git commit -a -m 'My commit comments'

-a = tous les fichiers édités

-m = la chaîne suivante est un commentaire.

Ceci va commiter dans votre repo local de lecteurs / dossiers. Si vous voulez pousser vos changements vers un serveur git / un serveur hébergé à distance, après la commande ci-dessus tapez :

git push

L'aide-mémoire de GitHub est très pratique.

17voto

pkk Points 3521

Je ne connais pas l'environnement de votre système, mais il semble que vous ayez tapé :

git commit

Et votre éditeur par défaut a été lancé. Dans le pire des cas (pour vous), cela aurait pu être vim :)

Si vous ne savez pas comment quitter vim, utilisez :q.

Si vous rencontrez d'autres problèmes, vous pouvez utiliser

git commit -m 'Type your commit message here'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X