git: diff entre fichier dans repo local et origine

Je veux trouver les différences entre un fichier que j’ai dans mon repo local et ce qui est dans le master d’origine.

Je sais qu’il y a git diff, mais je veux juste l’isoler dans ce fichier particulier.

Pour simplifier, disons que les fichiers sont nommés file1.txt et qu’ils ont un chemin d’access local = [local_path] et à l’origine ils ont filepath = [remote-path].

Quelle serait la commande git que je devais taper?

EDIT: Merci à tous pour vos commentaires, cela a été très perspicace. Pour ceux qui utilisent Eclipse (que je suis et j’aurais dû indiquer plus tôt), je viens de découvrir que vous pouvez simplement cliquer avec le bouton droit -> Comparer avec -> Branche, Tag ou Référence -> sélectionner la version appropriée et voilà.

Pour afficher les différences entre le fichier distant et le fichier local:

 git diff remotename/branchname:remote/path/file1.txt local/path/file1.txt 

Pour voir les différences dans l’autre sens:

 git diff HEAD:local/path/file1.txt remotename/branchname:remote/path/file1.txt 

Fondamentalement, vous pouvez modifier deux fichiers n’importe où en utilisant cette notation:

 git diff ref1:path/to/file1 ref2:path/to/file2 

Comme d’habitude, ref1 et ref1 peuvent être des noms de twig, remotename / branchname, commit SHA, etc.

Pour cela j’ai écrit un script bash:

 #set -x branchname=`git branch | grep -F '*' | awk '{print $2}'` echo $branchname git fetch origin ${branchname} for file in `git status | awk '{if ($1 == "modified:") print $2;}'` do echo "PLEASE CHECK OUT GIT DIFF FOR "$file git difftool FETCH_HEAD $file ; done 

Dans le script ci-dessus, je récupère la twig principale distante (pas nécessairement sa twig principale ANY) sur FETCH_HEAD Ils font FETCH_HEAD liste de mes fichiers modifiés et comparent les fichiers modifiés avec git difftool .

Il y a beaucoup de difftool supportés par git, je configure Meld Diff Viewer pour une bonne comparaison avec l’interface graphique.
A partir du script ci-dessus, je sais quelles modifications ont été apscopes par d’autres équipes dans un même fichier, avant de suivre les étapes de git. et fusionner sur la twig principale.

Pour comparer un référentiel local avec un référentiel distant, utilisez simplement la syntaxe ci-dessous:

git diff @ {upstream}