J'ai réécrit l'historique git avec la branche de filtre & - prune-empty. Maintenant, j'ai besoin de récupérer quelques commits avec un message spécifique. Puis-je faire cela? Je ne lance pas git reflog ou git gcAnnuler le commit spécifique vide après avoir réécrit l'historique avec prune-empty
1
A
Répondre
0
Vous pouvez utiliser git log
à search a commit by commit message.
Comme mentioned here, git log
has a --grep-reflog
option qui vous permet de grep commettre des messages de commissions perdues. Vous pouvez alors list the SHA1 onl y avec --format=format:%H
.
Je pense que si vous pouvez trouver les hachages SHA-1 des validations que vous avez effectuées, vous pouvez les ramener dans votre branche, de plusieurs façons. Ces commits sont probablement encore dans le reflet. –
@TimBiegeleisen Oui, je sais qu'ils sont encore dans le reflog. Mais je ne sais pas a) comment procéder à travers tous les commits, y compris supprimé (est-ce que filter-branche les procédera aussi?) Et comment les restaurer en fonction de la condition avec un message spécifique. –
Je peux également obtenir les hachages nécessaires à partir de la sauvegarde de repo et les restaurer manuellement, mais si c'est possible, je veux éviter cela et trouver ceci commet automatiquement –