Comment afficher l’historique des fichiers dans Git?

Avec Subversion, je pourrais utiliser TortoiseSVN pour afficher l’historique / journal d’un fichier.

Comment puis-je faire ça avec Git?

Il suffit de rechercher l’historique pour un fichier particulier, puis de comparer les différentes versions.

    Utilisez le git log pour afficher l’historique des validations. Chaque commit a un spécificateur de révision associé qui est une clé de hachage (par exemple 14b8d0982044b0c49f7a855e396206ee65c0e787 et b410ad4619d296f9d37f0db3d0ff5b9066838b39 ). Pour voir la différence entre deux commits différents, utilisez git diff avec les premiers caractères des spécificateurs de révision des deux validations, comme ceci:

     # diff between commits 14b8... and b410... git diff 14b8..b410 # only include diff of specified files git diff 14b8..b410 path/to/file/a path/to/file/b 

    Si vous voulez avoir une vue d’ensemble de toutes les différences qui se sont produites entre commit to commit, utilisez l’option git log ou git whatchanged avec l’option patch:

     # include patch displays in the commit history git log -p git whatchanged -p # only get history of those commits that touch specified paths git log path/a path/b git whatchanged path/c path/d 

    On dirait que vous voulez git diff et / ou git log . Découvrez également gitk

     gitk path/to/file git diff path/to/file git log path/to/file 

    J’aime utiliser gitk name_of_file

    Cela montre une belle liste des modifications apscopes à un fichier à chaque validation, au lieu d’afficher les modifications apscopes à tous les fichiers. Facilite le repérage de quelque chose.

    Vous pouvez également utiliser tig pour un navigateur de référentiel git basé sur ncurses. Pour afficher l’historique d’un fichier:

     tig path/to/file 

    Mon préféré est git log -p , qui vous donnera un historique de tous les commits du fichier donné ainsi que les diffs pour chaque commit.

    De nombreux navigateurs d’historique Git, y compris git log (et ‘git log –graph’), gitk (en Tcl / Tk, partie de Git), QGit (en Qt), tig (interface en mode texte avec git, ncurses), Giggle (en GTK +), TortoiseGit et git-cheetah supportent la limitation du chemin (par gitk path/to/file ).

    Bien sûr, si vous voulez quelque chose d’aussi près que possible de TortoiseSVN, vous pouvez simplement utiliser TortoiseGit .

    git-diff ou git-log ?

    TortoiseGit fournit également un outil de ligne de commande pour voir l’historique d’un fichier. Utilisation de PowerShell:

     C:\Program` Files\TortoiseGit\bin\TortoiseGitProc.exe /command:log /path:"c:\path\to\your\file.txt" 

    git log --all -- path/to/file devrait fonctionner