#git #git-stash
#git #git-stash
Вопрос:
git log --all -S <search-term>
выполняет поиск в полной истории всех ветвей изменений, которые добавили или удалили данный поисковый запрос. Супер мощный. Супер круто.
Но что, если изменение, которое я ищу, никогда не было зафиксировано в ветке, а вместо этого было спрятано в Git-тайнике? Есть ли простой способ выполнить поиск во всех них для определенной строки?
(Я понимаю, что тайники — плохое место для хранения чего-либо важного в течение любого периода времени, и что временные ветви являются лучшим решением. Я также понимаю, что количество тайников, как правило, должно быть довольно низким. Но если отбросить лучшие практики, я был просто в ситуации, когда я знаю, что написал несколько месяцев назад код, но нигде не мог его найти. Ручная проверка моих хранилищ в поисках этого кода была утомительной задачей, которую я бы предпочел больше не испытывать.)
Ответ №1:
git stash list
принимает те же параметры, что и git log
. Итак, вы можете сделать git stash list -S <search term>
.
Комментарии:
1. Я чувствую, что прочитал
git stash
справочную страницу по крайней мере дважды, но я почему-то так и не понял эту часть. Спасибо!2. @ParkerCoates: Git часто скрывает важные секреты в одной строке документации. Например,
git stash list
действительно выполняетсяgit reflog
иgit reflog
действительно выполняетсяgit log
. 🙂