J'ai une ligne supprimée dans un fichier de mon référentiel Git. Je connaissais une partie du texte manquant, et le fichier dans lequel il se trouvait, donc j'ai utilisé git log -S'missingtext' /path/to/file
.
Cependant, la seule chose qui est revenue est le commit dans lequel j'ai ajouté la ligne contenant le texte manquant. Le texte n'était pas présent dans HEAD, et le commit qui l'a ajouté était présent dans ma branche, donc je savais que l'un des commits dans l'historique de ma branche devait l'avoir supprimé, mais il n'apparaissait pas.
Après quelques recherches manuelles, il s'est avéré que la ligne a été supprimée accidentellement lors de la résolution d'un conflit pour une fusion. Je me demande donc :
- Est-ce la raison pour laquelle la pioche n'a pas pu trouver le commit qui a supprimé la ligne ?
- Comment aurais-je pu trouver où "missingtext" a été supprimé sans fouiller manuellement dans l'historique ?
Tout commentaire sur le numéro 1 serait le bienvenu (j'ai supposé que le numéro 1 était le numéro 2). git log -S
me donnerait la réponse), mais ma vraie question est le point 2, car j'aimerais pouvoir éviter cela à l'avenir.