2009-12-29 21 views
16

Ho un repository Git con circa due anni di storia. Ho un singolo file in esso, per il quale desidero trovare tutti i commit, e per ogni commit: tutti gli altri file che sono stati impegnati in esso. Supponiamo che questo file sia denominato file.txt. Posso eseguire gitk con questo file come argomento:Come visualizzare i commit completi durante il monitoraggio della cronologia di un singolo file in Git?

gitk file.txt 

e ottengo ogni commit. Tuttavia, l'esplorazione di quell'albero in gitk mostra solo le modifiche apportate a file.txt. Mi piacerebbe vedere quali altri file sono stati modificati in quel commit. Posso copiare incollare ogni commit SHA1 e visualizzarlo, ma ci sono oltre un centinaio di commit relativi a questo file.

Ho notato che la sezione "commenti" nella parte in basso a destra dello schermo è vuota (mostra solo il testo "Commenti"). Forse una lista di file potrebbe essere mostrata lì?

+0

Per EOL altrove vedere http://unix.stackexchange.com/questions/10277/ignore-whitespaces-changes-in-all-git-commands –

risposta

15

Nella riga di comando,

git log -p --full-diff file.txt 

uscita volontà ciò che si desidera.

Se si deve vedere in gitk, invocarlo con senza argomenti, trovare commettere file.txt "percorso toccare", e il commit contiene quel file sarà grassetto. E puoi usare i pulsanti "su" e "giù" per attraversarlo.

+0

Ho modificato la mia risposta, spero che è quello che vuoi . – iamamac

+0

Eccellente! Esattamente quello di cui ho bisogno. Grazie mille (mi dispiace, posso solo revocarlo e accettarlo) –

7

Si può effettivamente avere la funzionalità '--full-diff' in gitk, ma non direttamente dalla riga di comando. Basta effettuare le seguenti operazioni:

  • Inizio gitk solito modo, ad es .: gitk file.txt
  • Selezionare 'Visualizza -> Modifica vista ...' dal menu. Verifica di modificare la vista "Riga di comando".
  • Nella casella di modifica accanto a "Argomenti aggiuntivi per log git", digitare --full-diff
  • Fare clic su "Applica" o premere [F5].

Che dovrebbe farlo. Perché gitk non ti permette di usarlo dalla riga di comando è un mistero per me, perché è un'opzione molto utile.

3

Un'altra soluzione dalla mailing list del molto indietro nel 2008:

Provare a disattivare l'opzione "diff Limitato a percorsi elencati" nel menu preferenze (o l'aggiunta di "set limitdiffs 0" al tuo ~ /.gitk).

+0

questa è l'unica soluzione che funziona per me .. il ~/.gitk non funziona ma cambiare le preferenze funziona bene – nayana

Problemi correlati