je cite un tutoriel git:Différence entre git HEAD et l'état actuel du projet?
git diff shows the diff between HEAD and the current project state
Je me demande ce que cela signifie. Le HEAD n'est-il pas le projet actif en cours?
Merci
je cite un tutoriel git:Différence entre git HEAD et l'état actuel du projet?
git diff shows the diff between HEAD and the current project state
Je me demande ce que cela signifie. Le HEAD n'est-il pas le projet actif en cours?
Merci
De "Specifying revisions"
HEAD
noms du COMMIT lesquels vous avez fondé les changements dans l'arborescence de travail.
Il existe d'autres têtes (FETCH_HEAD
, ORIG_HEAD
et MERGE_HEAD
). Voir Jefromi's answer pour plus.
La chose est, par défaut git diff
montre effectivement les différences entre « l'état actuel de votre projet » (à savoir vos fichiers sur votre arbre de travail) et l'indice (non HEAD).
En d'autres termes, les différences sont pourrait dire à git d'ajouter plus à l'index, mais vous ne l'avez pas encore.
si vous git diff --cached
, alors il compare l'indice avec la tête.
Voir git book for more (archive link):
Une utilisation courante consiste à exécuter simplement
$ git diff
qui vous montrera les changements dans le répertoire de travail qui ne sont pas encore mis en scène pour la prochaine validation. Si vous voulez voir ce qui est mis en scène pour la prochaine commettras, vous pouvez exécuter
$ git diff --cached
qui vous montrera la différence entre l'index et votre dernier commit; ce que vous commettriez si vous lancez "git commit" sans l'option "-a". (Dans les versions Git 1.6.1 et versions ultérieures, vous pouvez également utiliser
git diff --staged
qui peut être plus facile à retenir.) Enfin, vous pouvez exécuter$ git diff HEAD
qui montre les changements dans le répertoire de travail depuis votre dernière validation; ce que vous commettriez si vous lancez "git commit -a".
Voir aussi 365git: Getting a diff between the working tree and other commits:
git diff
est pour montrer les changements non engagés (à savoir le travail que vous avez fait, mais pas encore engagé dans le projet en cours).
Voici une explication complète: http://git-scm.com/docs/git-diff
Pas exactement. La réponse de VonC est plus précise; 'git diff' ne montre * pas * les modifications que vous avez faites, pas encore validées dans le projet, mais * have * ajouté avec un' git add'. –
lien impressionnant, dans les 3 années d'utilisation git je n'ai pas vu une seule image qui explique si bien les choses. Les images officielles git sont horribles par rapport à la simplicité fournie par l'image liée. Toutes les autres images sur le blog semblent être comparables. Je veux dire que les images git officielles sont plutôt des séries d'images qui laissent encore place à l'interprétation, alors que l'image dans votre message explique 5 commandes différentes en seulement 1 image. C'est tout à fait l'inversion de l'efficacité, 5 images par commande comparées à 5 commandes par image. – HopefullyHelpful