2017-10-20 38 views
0

Quelqu'un m'a envoyé une version «mise à jour» d'un fichier de données avec lequel je travaillais. Je n'avais pas réalisé qu'il n'était que partiellement mis à jour et que j'avais besoin de fusionner leurs modifications avec ce que j'avais déjà avant d'écraser les données que j'utilisais.Récupérer sur une branche différente après réinitialisation Git

Afin de récupérer leurs données, j'ai commencé une nouvelle branche (git checkout -b datafix), remise à un engagement que je connaissais avait les données d'origine que je avais besoin (git reset --hard 91ecb113f), fait mes changements et se sont engagés uniquement le fichier de données (git add data.csv, git commit -m "update data"), est revenu au maître, puis a essayé de vérifier seulement le fichier de données (, git checkout datafix data\survey_data.csv). Mais il semble que mes modifications apportées à d'autres fichiers dans le rapport aient été écrasées.

Je réalise maintenant que faire une réinitialisation matérielle même après avoir changé de branche a probablement écrasé mes fichiers. Y a-t-il un moyen de récupérer mes changements non engagés?

Répondre

1

Utilisez git reflog --all pour répertorier tous les validations dans votre référentiel, y compris celles qui ne sont rattachées à aucune branche. Basculez manuellement vers le dernier commit non attaché et fusionnez à partir de là.