Après un pull Git, sa sortie donne un résumé du montant du changement.
Comment puis-je voir les modifications détaillées de chacun ou de certains fichiers?
D'accord, voici ma question à Jefromi:
Comment savoir si je tirais vers la maîtrise? Tout ce que j'ai fait, c'est "git pull".
Sur quoi pointe master et quelle est la différence entre master et HEAD, les deux têtes par défaut de Git?
Comment voir la modification détaillée dans un fichier spécifique?
Comment puis-je voir à nouveau le changement dans la sortie de résumé par le dernier
git pull
?Quelle est la différence entre
git diff
etgit whatchanged
?
git diff
génère clairement un diff, tandis quegit whatchanged
affiche clairement une liste d'informations de validation, chacune contenant une liste des fichiers modifiés.Réponses:
Supposons que vous tiriez vers le maître. Vous pouvez vous référer à la position précédente de
master
bymaster@{1}
(ou mêmemaster@{10.minutes.ago}
; voir la section de spécification des révisions de la page de manuel git-rev-parse ), afin de pouvoir faire des choses commeVoir tous les changements:
git diff master@{1} master
Voir les modifications apportées à un fichier donné:
git diff master@{1} master <file>
Voir toutes les modifications dans un répertoire donné:
git diff master@{1} master <dir>
Consultez à nouveau le résumé des modifications:
git diff --stat master@{1} master
Quant à votre question "comment savoir si je suis sur master" ... eh bien, l'utilisation de branches est une partie importante du workflow Git. Vous devez toujours être conscient de la branche sur laquelle vous vous trouvez - si vous avez effectué des modifications, vous voulez les tirer vers la bonne branche! Vous pouvez voir une liste de toutes les branches, avec un astérisque à côté de celle actuellement extraite, avec la commande
git branch
. Le nom de la branche actuelle est également imprimé avec la sortie degit status
. Je recommande vivement de parcourir les pages de manuel des commandes à utiliser - c'est un excellent moyen d'acquérir lentement des connaissances.Et votre dernière question:
HEAD
est le nom de la branche actuellement extraite. Vous pouvez en effet utiliserHEAD
etHEAD@{1}
dans ce contexte également, mais c'est un peu plus robuste d'utiliser les branches, car si vous allez vérifier une autre branche.HEAD
est maintenant cette deuxième branche, etHEAD@{1}
est maintenantmaster
- pas ce que vous voulez!Pour éviter d'avoir à poser beaucoup de petites questions comme celle-ci, vous devriez probablement jeter un œil à un didacticiel Git. Il y en a un million sur le web, par exemple:
la source
git diff master@{1} master
git diff master@{1} master
n'a pas fonctionné pour moi, a plutôtgit diff master~1 master
fait le travail pour moi.git reflog master
de comprendre quoi.fatal: ambiguous argument 'firstDesign@': unknown revision or path not in the working tree.
Je reçois toujours cette erreur. Bien que git reflog firstDesign ait cette sortie .Dites que vous faites un git pull comme ceci:
Vous pouvez voir la différence de ce qui a changé en utilisant les numéros de révision:
la source
git diff --stat a407564..9f52bed
" ou juste pour un résumé "git diff --summary a407564..9f52bed
"La commande elle-même fonctionne comme ceci:
et par défaut fait référence à la branche actuelle. Vous pouvez vérifier vos succursales en utilisant
Cela listera vos succursales locales et distantes comme par exemple (Ajout d'un
---
diviseur as entre local et distant pour le rendre plus clair)Lorsque vous examinez ensuite un dépôt distant, vous verrez à quoi vous faites référence:
listera comme suit:
Il est donc assez facile de savoir d'où tirer et de pousser.
Le moyen le plus simple et le plus élégant (imo) est:
Cela vous donnera deux blocs d'informations sur les changements entre votre dernier tirage et l'état actuel du travail. Exemple de sortie (j'ai ajouté un
---
diviseur entre--stat
et la--dirstat
sortie pour le rendre plus clair):la source
Cette méthode est un peu piratée, mais elle vous permettra d'utiliser des outils graphiques comme
gitk
ougitg
ougit-gui
:La réponse avec le plus de votes positifs donne le meilleur moyen d'utiliser l'outil git, mais j'utilise cette méthode car je peux ensuite utiliser des outils avec une interface graphique pour voir les changements: P
J'aurais alors l'étape supplémentaire de faire un
git checkout .
, puis de le faire àgit pull
nouveau pour que je tire et fusionne correctement, mais j'apprécie suffisamment la possibilité d'examiner les différences dans une interface graphique pour gérer les deux étapes supplémentaires.la source