восстановить потерянный коммит по известному имени папки - PullRequest
3 голосов
/ 18 ноября 2010

Я случайно потерял ветку. Я предполагаю, что это находится в списке reflog, но слишком трудно проверить каждого в этом. Я помню, что в этой ветке была создана папка с некоторыми файлами, поэтому должна быть возможность найти мою ветку, найдя все потерянные коммиты, которые влияют на эту папку. Итак, вопрос: как я могу найти эти коммиты?

Ответы [ 2 ]

2 голосов
/ 18 ноября 2010

Я должен просто указать путь в команде reflog.Важно использовать «-» перед путем, если он отсутствует в рабочем дереве

git reflog -- path/to/the/affected/folder
0 голосов
/ 18 ноября 2010

Вы можете получить вывод git lstree, чтобы узнать о коммитах в ветке:

for ID in `git reflog | cut -d' ' -f1` # filter out the commit ID
do
  # show the tree for each commit and grep for the file there
  git ls-tree -r $ID | grep file/name && echo "File is on $ID"
done
...