Pourquoi ne pas “git log -- foo” de travail pour supprimé le fichier foo?
Mon dépôt a subi des changements tels que:
- ...certains indépendants s'engage...
- Commettre un nouveau fichier
foo
avec 100 lignes de contenu - ...intervenant s'engage, certains touchent des
foo
... - Insérer le contenu de
foo
au sommet d'un fichier existantbar
etgit rm foo
dans la même livraison - ...plus indépendants s'engage...
Maintenant, je veux voir le journal de fichier supprimé foo
. Tout ce que j'ai lu, y compris, et dit que je devrais être en mesure de git log -- foo
, mais la commande ne produit aucune sortie.
Si je trouve le commit qui comprend la suppression de foo
je peux git log 1234abcd -- foo
et de voir son journal, donc je pense que mon chemin à foo
n'est pas le problème. Notez également que git merge-base HEAD 1234abcd
sorties 1234abcd[...]
, donc je pense que cela devrait prouver que la livraison est accessible à partir de HEAD
. Notez qu'il n'existe pas de fichier foo
dans mon arbre de travail (évident, puisqu'il a été supprimé). À l'aide de Git 1.7.1.1 sur OS X.
Pourquoi ne pas git log -- foo
de travail pour moi et comment puis-je résoudre ce problème? Merci!
- Avez-vous essayé
git log --follow -- foo
ougit log --follow -M -- foo
? (à force de renommage de détection) - Merde, je l'ai fait essayer
--follow
--mais la lecture dehistory
je vois que j'avais depuis un cd ed d'ailleurs quand je l'ai essayé, en faisant le chemin d'accès non valide.git log --follow -- foo
travaillé quand j'ai essayé de le bon point de départ. Je suppose que Git considéré comme rollingfoo
enbar
comme une sorte de renommer? En tout cas, merci à vous! Je serai heureux de crédit si vous allez reposter comme une réponse. - Ennuyeux que
--
est changé à—
dans la question du titre...
Vous devez vous connecter pour publier un commentaire.
Vous souhaitez utiliser le
--follow
option surgit log
, qui est décrit dans la page de man comme:Efficacement, non seulement cela vous permettra de voir l'historique d'un fichier renommé, mais cela vous permet également d'afficher l'historique d'un fichier n'est plus dans l'arbre de travail. Si la commande que vous devez utiliser devrait ressembler à quelque chose comme:
Mise à jour:
Git de 2,9+ est maintenant activé par défaut pour tous les
git diff
etgit log
commandes:Grâce à x-yuri pour le heads up!
--follow
partie. J'ai juste besoin d'ajouter--
. Je suis en cours d'exécutiongit-2.9.0
.