Самый практичный способ проверить свое оборудование — загрузить заведомо -исправное программное обеспечение. Например, старое ядро. Старая прошивка тоже подойдет — Live CD/DVD, о которых вы знаете, отлично работает.
Кроме того, проверьте свои журналы — вы уверены, что это началось всего 2 недели назад? Или вы только тогда начали это замечать?
Кроме того, по крайней мере, если этот настольный ПК (относительно легко открыть и посмотреть ), найдите минутку, чтобы визуально проверить оборудование :, все ли вентиляторы вращаются? Отсутствуют ли какие-либо радиаторы (и нет ли на радиаторах пыли/ворсинок )? Вздутые конденсаторы? Поскольку существует множество ошибок PCIe, если вы разбираетесь в оборудовании, вы также можете переустановить все карты PCIe.
[Фактическое тестовое оборудование для подтверждения наличия аппаратного сбоя, вероятно, будет стоить значительно дороже, чем просто замена компьютера.]
Вы можете использовать режим patch
git log:
git log -p
# Hit '/' for search mode.
# Type TODO
# Then hit 'n' for next
Для ограничения в вашей ветке вы можете добавитьfirstcommit...HEAD
Вы почти угадали. Из официальной документации git -grep:
-h
-H
By default, the command shows the filename for each match. -h option is used
to suppress this output. -H is there for completeness and does not do
anything except it overrides -h given earlier on the command line.
...
-n
--line-number
Prefix the line number to matching lines.
Это означает, что следующая команда
git grep -n TODO
должен отображать все файлы, содержащие «TODO», вместе с их именем (поведением по умолчанию )и номером строки для соответствия (с-n
). Пример вывода:
lib/my_script.py:67: # TODO patch this
^ ^ ^
| | |
filepath line number matched line
Если совпадений слишком много, вы можете использовать :^some_folder
для исключения папки some_folder
из поиска grep (см. параграф «Примеры»):
git grep -n TODO :^some_folder
или команды оболочки конвейера, такие как sed
или awk
, чтобы отфильтровать вывод только для нужных файлов или папок.
Кроме того, вы можете настроить отображение номеров строк по умолчанию (см. параграф «Конфигурация»):
grep.lineNumber
If set to true, enable -n option by default.
, который можно установить, как описано в различных ответах на этот вопрос , например, с помощью:
git config --global grep.lineNumber true
Я хотел сделать то же самое, что и OP :найти TODO, добавленные в мою ветку.
Итак, я собрал сценарий diff2vimgrep . А затем подключил его к fzf.vim(нечеткому поисковику для vim):
command! -bang -nargs=0 RgDiffMaster call fzf#vim#grep("git diff master... | diff2vimgrep", 0, {}, <bang>0)