2015-03-08 1 views
1

je reçois la sortie git diff normale sur la ligne de commande sans problème:Pas de sortie diff dans la mise en scène interactive

--- a/my_file.rb 
+++ b/my_file.rb 
@@ -108,6 +108,8 @@ my_block do 
    #unchanged line 
    #unchanged line 
    #unchanged line 
+ #new line 
+ #new line 
    #unchanged line 
(END) 

Cependant, en mode mise en scène interactive, je ne reçois rien:

> git add -i my_file.rb 
staged  unstaged path 
    1: unchanged  +2/-0 my_file.rb 

*** Commands *** 
    1: status  2: update  3: revert  4: add untracked 
    5: patch  6: diff   7: quit   8: help 
What now> 6 
*** Commands *** 
    1: status  2: update  3: revert  4: add untracked 
    5: patch  6: diff   7: quit   8: help 
What now> 

Je suppose git tente de utiliser une commande pour la sortie qu'il ne trouve pas, autre chose que less qui fonctionne bien pour diff normal. Qu'est-ce que c'est ou où je le spécifie?

Répondre

1

Jetez un oeil à git-add(1):

diff

Cela vous permet d'examiner ce qui sera livré (à savoir entre la tête et l'indice).

Puisque vous n'avez rien ajouté pour le moment, le diff est vide. En revanche, git-diff compare HEAD avec le répertoire de travail. L'appel de l'ajout interactif s'apparente à git diff --cached.