254 votes

Comment faire pour avoir un aperçu sans faire fetch git pull ?

Est-il encore possible ?

Fondamentalement, il y a un dépôt distant d'où je tire en utilisant juste :

Maintenant, je voudrais obtenir un aperçu de ce que serait ce pull changer (un diff) sans toucher à quoi que ce soit de mon côté. La raison est que chose que je suis en tirant ne pourrait pas être « bon » et je veux quelqu'un d’autre y remédier avant de prendre mon dépôt « sale ».

295voto

Greg Hewgill Points 356191

Après avoir fait un git fetch, faire un git log HEAD..origin pour afficher les entrées du journal de votre commune s'engager et à l'origine de la branche. Pour montrer les différences, utilisez git log -p HEAD..origin pour montrer à chaque patch, ou git diff HEAD...origin (les trois points, et non pas deux) pour afficher une seule diff.

Il n'est normalement pas besoin d'annuler une extraction, parce que faire une extraction uniquement les mises à jour de la branche distante et aucun de vos branches. Si vous n'êtes pas prêt à faire une traction et de fusion dans toutes la télécommande s'engage, vous pouvez utiliser git cherry-pick d'accepter seulement la distance engage que vous voulez. Plus tard, lorsque vous êtes prêt à tout avoir, un git pull de fusion dans le reste de la commet.

Mise à jour: je ne suis pas entièrement sûr de savoir pourquoi vous voulez éviter l'utilisation de git fetch. Tous git fetch n'est de mettre à jour votre copie locale d'une branche distante. Cette copie locale n'a rien à voir avec une quelconque de vos branches, et qu'il n'a rien à voir avec les non validées changements locaux. J'ai entendu parler de gens qui git fetch dans un cron job parce que c'est sûr.

53voto

Brian Gianforcaro Points 11985

Je pense que git fetch est ce que vous cherchez.

Il va tirer les changements et les objets sans commettre à votre local de pensions de l'index.

Ils peuvent être fusionné plus tard avec git merge.

Page De Man

Edit: De Plus Amples Explination

Directement à partir de la Git - SVN Cours intensif lien

Maintenant, comment voulez-vous obtenir toutes les nouvelles modifications à partir d'un dépôt distant? Que vous les récupérer:

git fetch http://host.xz/path/to/repo.git/ 

À ce moment, ils sont dans votre dépôt et vous pouvez les examiner à l'aide de:

git log origin 

Vous pouvez également diff changements. Vous pouvez également utiliser la commande git log TÊTE..origine pour voir les changements que vous n'avez pas dans votre direction. Alors, si souhaitez fusionner - il suffit de faire:

git merge origin

Notez que si vous ne spécifiez pas une branche pour récupérer, il vous permettra de retrouver facilement par défaut pour le suivi à distance.

La lecture de la page de man est honnêtement va vous donner une meilleure compréhension des options et comment l'utiliser.

Je suis juste essayer de faire cela par des exemples et de la mémoire, je n'ai pas actuellement une zone de test sur. Vous devriez regarder:

git log -p //log with diff

Une extraction peut être annulée avec git reset --hard (lien) , mais toutes les modifications non validées dans votre arbre sera perdu ainsi que les modifications que vous avez récupéré.

25voto

Antonio Bardazzi Points 599

Vous pouvez extraire d’un repo distant, voir les différences et puis tirez ou fusionner.

Il s’agit d’un exemple pour un repo distant appelé et une branche appelée les sites distants de suivi `` :

12voto

Matthias Points 17181

J’ai créé un alias de git personnalisé pour faire cela pour moi :

avec qui vous pouvez faire ceci :

Cela, vous aurez un moyen facile et agréable pour prévisualiser les modifications avant de faire un `` .

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