web-dev-qa-db-fra.com

git diff entre le repo distant et local

Essayer de diff mon fichier local avec un dépôt GitHub avant de soumettre une demande d'extraction afin que je puisse voir ce qui va apparaître, existe-t-il un moyen précis de procéder? Je suppose que l'outil de comparaison de GitHub manipule la diff de Git?

47
Terry

Ne faites pas de pull

  • faire une fetch (la syntaxe est la même que git pull, mais elle ne se fusionne pas automatiquement)
  • faire une diff entre votre branche dest et l'autre branche
  • alors faites une merge si vous voulez
40
Denys Séguret

Pour comparer un répertoire de travail local à une branche distante, par exemple Origin/master:

  1. git fetch Origin master
    .__ Ceci indique à git de récupérer la branche nommée 'master' à partir de la télécommande nommée 'Origin'. Git fetch aura pas affecte les fichiers de votre répertoire de travail; il n'essaie pas de fusionner les modifications comme le fait git pull
  2. git diff --summary FETCH_HEAD
    Lorsque la branche distante est extraite, elle peut être référencée localement via FETCH_HEAD. La commande ci-dessus indique à git de différencier les fichiers du répertoire de travail des HEAD de la branche FETCHed et de rapporter les résultats au format récapitulatif. Le format de résumé donne un aperçu des changements, généralement un bon moyen de commencer. Si vous voulez un peu plus d’informations, utilisez --stat au lieu de --summary
  3. git diff FETCH_HEAD -- mydir/myfile.js
    Si vous souhaitez voir les modifications apportées à un fichier spécifique, par exemple myfile.js, ignorez l'option --summary et faites référence au fichier souhaité (ou à l'arborescence).
82
HieroB

Selon le commentaire du PO, une partie de son "problème était entre Windows et Unix LF", ce qui devrait aider:

Vous pouvez utiliser la commande config suivante pour indiquer à git-diff d’ignorer la différence de code eol. 

git config --global core.whitespace cr-at-eol
4
gzh

Vous pouvez utiliser: git diff remote/my_topic_branch my_topic_branch

my_topic_branch est votre branche de sujet.

0
Elisha Senoo