В современной разработке скорость переключения контекста и понимание текущего состояния проекта — критические навыки. Этот гайд поможет настроить терминал, который «говорит» с вами, и освоить профессиональную работу с временным хранилищем кода.
Starship — это минималистичный и быстрый prompt-интерфейс, написанный на Rust. Он убирает необходимость постоянно вводить git status или node -v.
# Установка бинарного файла
curl -sS https://starship.rs/install.sh | sh
# Добавление в автозапуск Bash
echo 'eval "$(starship init bash)"' >> ~/.bashrc
source ~/.bashrc
Чтобы вместо квадратиков видеть иконки веток и языков программирования, установите специальный шрифт через терминал:
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/0xProto.zip
unzip 0xProto.zip && rm 0xProto.zip
fc-cache -fv
Настройка VSCode: Нажмите Ctrl + ,, найдите Terminal › Integrated: Font Family и впишите: '0xProto Nerd Font Mono'.
Starship визуализирует контекст в реальном времени:
develop— текущая ветка Git.[$]— в стекеgit stashесть сохраненный код (забытая «заначка»).!или+— наличие измененных или подготовленных к коммиту файлов.via v22.12.0— активная версия Node.js (или другого языка).took 42s— время выполнения последней тяжелой команды.
Когда Starship показывает индикатор [$], это сигнал к использованию команд управления стеком.
| Команда | Описание |
|---|---|
git stash |
Спрятать все отслеживаемые изменения. |
git stash -u |
Спрятать изменения, включая новые (untracked) файлы. |
git stash list |
Посмотреть список всех накопленных стэшей. |
Не обязательно восстанавливать всё сразу.
- Посмотреть код внутри:
git stash show -p stash@{n}(выход — клавишаq). - Достать один файл:
git checkout stash@{n} -- <path/to/file> - Применить и сохранить в списке:
git stash apply stash@{n}(безопаснее, чемpop).
Если код в стэше сильно устарел и не применяется к текущей ветке без ошибок:
git stash branch <new_branch_name> stash@{n}
Результат: Git создаст новую ветку от того коммита, где был сделан стэш, и чисто применит в неё изменения. Это изолирует решение конфликтов от основной ветки.
- Удалить конкретный стэш:
git stash drop stash@{n} - Очистить всё:
git stash clear
Сочетание визуального контроля (Starship) и глубокого владения инструментами (Git Stash) избавляет от необходимости помнить мелочи. Весь фокус остается на написании кода, а не на администрировании рабочего процесса.