Каждый день мы тратим кучу времени на однотипные действия. Эти семь советов - не просто теория, а реальные штуки, которые сэкономят часы и спасут нервные клетки. Я сам ими пользуюсь, и они реально работают.
Бывало: закоммитил, а потом заметил, что забыл добавить правку в README или какой-то мелкий багфикс. Не надо паниковать и делать новый коммит с текстом "фикс". Просто добавь файл в индекс и используй флаг --amend. Ты перезапишешь последний коммит, не плодя мусор в истории.
git add забытый_файл.py
git commit --amend --no-edit
Флаг --no-edit оставляет старое сообщение. Если хочешь поменять описание - просто убери его.
Запустил долгий тест или скачивание, а терминал закрывать страшно? Используй nohup и &. Команда переживет закрытие сессии. А если хочешь потом к ней вернуться - заверни всё в screen или tmux. Это база, но многие новички про это забывают и теряют результаты.
nohup python long_script.py &
Вывод улетит в файл nohup.out. Потом просто глянь его через cat или tail.
Ctrl+Shift+F (или Cmd+Shift+F на Mac) - это круто, но часто мы ищем не просто строку, а что-то с определенным паттерном. Включи режим регулярных выражений (иконка .*) и ищи как профи. А если нужно заменить во всем проекте - не жми "Replace All" сразу. Сначала нажми на "Preview", чтобы увидеть, куда именно попадет замена. Иначе можно случайно переписать половину кода.
// Ищем все вызовы console.log, кроме закомментированных
^[^\/\/]*console\.log
Если на исправление бага или рефакторинг нужно меньше двух минут - делай это сразу. Не записывай в TODO, не откладывай. Иначе эти "мелочи" накапливаются и превращаются в огромный техдолг. Я сам так попал: отложил исправление опечатки в переменной, а через месяц она сломала сборку. Две минуты тогда спасли бы час.
Но тут есть нюанс: если задача явно тянет на больше - не отвлекайся. Используй таймер или просто внутреннее чутье.
Случайно затер нужные изменения во всем проекте? Не надо откатывать ветку целиком. Git позволяет выдернуть конкретный файл из любой точки истории. Это спасает, когда ты накоммитил лишнего, а потом понял, что старый код в одном файле был лучше.
git checkout abc1234 -- путь/к/файлу.py
Где abc1234 - хеш коммита, откуда берем файл. Изменения сразу попадут в рабочую директорию.
Помнишь, что вчера запускал сложную команду с кучей флагов, но забыл точную строку? Вместо того чтобы листать историю стрелками минуту, нажми Ctrl+R и начни печатать. Bash покажет последнее совпадение. Нажимай Ctrl+R снова, чтобы листать дальше. Это ускоряет работу с терминалом в разы.
# Нажми Ctrl+R, введи "docker" - найдет последнюю команду с docker
Не запоминай всё. Когда нашел решение сложной проблемы (особенно если гуглил 40 минут) - запиши его. Не в общий чат, а себе в заметки. Через месяц ты забудешь детали, и придется гуглить заново. Я веду простой текстовый файл с датами и краткими описаниями: "2024-03-15: баг с кодировкой в Python - помог decode('utf-8', errors='ignore')". Поверь, такой файл стоит целой базы знаний.
# Пример записи в дневнике
# 2024-03-20: Линтер ругался на длину строки в JS - отключил правило max-len для конкретного файла через /* eslint-disable */Комментариев пока нет