Je ne voulais pas perdre d'informations après un git pull
, donc j'ai fait un git fetch
avant. Où puis-je lire les nouvelles modifications après un git fetch
? Je suis allé au FETCH_HEAD
fichier, mais il n'y avait rien de plus qu'un grand nombre.
git fetch Origin
par défaut récupère tout depuis la télécommande nommée "Origin" et met à jour (ou crée) les soi-disant "branches de suivi à distance" pour cette télécommande. Par exemple, pour la télécommande nommée "Origin" qui contient des branches nommées "master" et "feature", exécutez git fetch remote
entraînera la mise à jour (ou la création, si elles n'existent pas) des branches de suivi à distance nommées "Origine/maître" et "Origine/fonctionnalité". Vous pouvez les voir dans la sortie de git branch -a
(notez "-a").
Maintenant, la configuration Git habituelle est que (certaines de) vos branches locales suivent certaines branches distantes (généralement du même nom). Autrement dit, votre branche "maître" locale suit "Origine/maître", etc.
Donc, après avoir récupéré, pour voir ce que le "maître" distant a comparé à votre "maître" local, vous demandez à Git de vous montrer exactement ceci:
git log Origin/master ^master
ce qui signifie "toutes les validations accessibles depuis" Origin/master "qui n'incluent pas les validations accessibles depuis" master "" ou, alternativement
git log master..Origin/master
qui a la même signification. Voir page de manuel "gitrevisions" pour plus d'informations, en particulier la partie "Spécification des plages". Voir également les exemples dans la page de manuel de git-log
Vous êtes libre de personnaliser la sortie de git log
comme bon vous semble car il prend en charge un grand nombre d'options qui l'affectent.
Notez que votre branche locale peut également avoir des validations que la branche distante correspondante ne contient pas (encore). Pour en avoir un aperçu, vous devez inverser les révisions passées à git log
pour (espérons-le) des raisons évidentes.
Comme d'habitude, il est essentiel de éduquervous-même pour comprendre les concepts sous-jacents avant de commencer à utiliser un outil. Je vous en prie.
Essayer
git log --oneline --decorate Origin/master
Cela vous donnera le journal des modifications de la tête master
de la télécommande Origin
(vous pouvez remplacer n'importe quelle autre branche distante si nécessaire). Vous obtiendrez une sortie un peu comme ceci:
234121 (Origin/master) Commit message 5
872373 Commit message 4
623748 Commit message 3
235090 (master) Commit message 2
192399 Commit message 1
Le commit marqué (master)
est le chef de votre branche locale master
. Le commit marqué (Origin/master)
est le chef de la branche master
de la télécommande.
Si vous souhaitez simplement voir quels fichiers seront modifiés si vous effectuez un GIT PULL, procédez comme suit:
git fetch && git diff HEAD @{u} --name-only
Si vous souhaitez voir TOUTES les différences entre votre version actuelle et la version entrante, y compris les modifications locales non validées, tapez ceci:
git fetch && git diff @{u} --name-only