Рейтинг: 5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

При работе с Git-репозиториями часто возникает необходимость убрать лишние файлы из коммита, особенно в проектах на STM32 или других микроконтроллерах. Ниже пошаговая инструкция, как это сделать правильно.

1. Откат последнего коммита

git reset --soft HEAD~1

Команда сохраняет изменения в индексе (staging area), чтобы можно было закоммитить заново.

2. Создание корректного файла .gitignore

Создайте файл .gitignore в корне проекта со следующим содержимым:

# Файлы сборки
/Debug/
/Release/
*.elf
*.hex
*.bin
*.map
*.list

# IDE-файлы
*.launch
*.uvoptx
*.uvprojx
*.uvgui.*
*.ioc.user_files*

# STM32CubeIDE
*.ide.log
*.project
*.cproject
.settings/
.vscode/
*.swp

# ОС-специфичные
.DS_Store
Thumbs.db
desktop.ini

# Резервные файлы
*~
*.bak
*.tmp

# Личные настройки
*.user

3. Очистка отслеживаемых, но игнорируемых файлов

git rm -r --cached .
git add .

Это удалит уже добавленные в Git файлы, которые теперь указаны в .gitignore, но не удалит их с вашего компьютера.

4. Новый коммит

git commit -m "Чистый коммит с правильным .gitignore"

5. Перезапись истории на GitHub или другом удалённом репозитории

git push --force

Внимание: команда перезапишет последний коммит на удалённой ветке, что может вызвать проблемы у других разработчиков. Используйте с осторожностью.

Заключение

Теперь ваш проект чист от временных и сгенерированных файлов. Такой подход помогает поддерживать порядок в репозитории и избегать конфликтов в будущем. Рекомендуется использовать .gitignore с самого начала проекта.