Обновить README.md

This commit is contained in:
+46 -2
View File
@@ -24,6 +24,7 @@
Основные задачи:
- Автоматическая регистрация вложенных репозиториев как подмодулей
- Централизованное управление множеством репозиториев
- Настройка игнорирования состояния подмодулей в основном репозитории
- Автоматизация рутинных операций
---
@@ -33,7 +34,7 @@
### `register-submodules.sh`
**Описание:**
Автоматически находит все вложенные Git-репозитории в текущей папке и регистрирует их как подмодули в `.gitmodules`.
Автоматически находит все вложенные Git-репозитории в текущей папке и регистрирует их как подмодули в `.gitmodules`. Поддерживает настройку игнорирования состояния подмодулей.
**Использование:**
```bash
@@ -47,16 +48,40 @@
| `--help`, `-h` | Показать справку |
| `--dry-run` | Только показать, что будет сделано (без изменений) |
| `--force`, `-f` | Принудительная перерегистрация подмодулей |
| `--ignore=MODE` | Установить режим игнорирования для ВСЕХ подмодулей |
| `--ignore-submodule PATH:MODE` | Установить режим для конкретного подмодуля |
| `--remove-ignore` | Удалить все настройки игнорирования из .gitmodules |
| `--verbose`, `-v` | Подробный вывод |
| `--quiet`, `-q` | Минимальный вывод (только ошибки) |
**Режимы игнорирования (`MODE`):**
| Режим | Описание |
|-------|----------|
| `all` | Полностью скрывает изменения в подмодулях (не показывает ничего) |
| `dirty` | Скрывает только изменения в файлах подмодуля |
| `untracked` | Скрывает только неотслеживаемые файлы в подмодуле |
| `none` | Показывает все изменения (поведение по умолчанию) |
**Примеры:**
```bash
# Базовая регистрация
./register-submodules.sh
# Регистрация с игнорированием всех изменений в подмодулях
./register-submodules.sh --ignore=all
# Регистрация с игнорированием только dirty-изменений
./register-submodules.sh --ignore=dirty
# Установить ignore только для конкретного подмодуля
./register-submodules.sh --ignore-submodule tools/cam:dirty
# Удалить все настройки игнорирования
./register-submodules.sh --remove-ignore
# Просмотр без изменений
./register-submodules.sh --dry-run
./register-submodules.sh --dry-run --ignore=all
# Принудительная перерегистрация с подробным выводом
./register-submodules.sh --force --verbose
@@ -132,6 +157,25 @@ git submodule add https://git.p7net.ru/tools/git_man.git tools/git_man
---
## 🔧 Особенности работы с подмодулями
### Настройка игнорирования в .gitmodules
После регистрации подмодулей в файле `.gitmodules` могут появиться секции с настройкой `ignore`:
```ini
[submodule "tools/cam"]
path = tools/cam
url = https://git.p7net.ru/tools/cam.git
ignore = dirty
```
Это позволяет основному репозиторию игнорировать изменения в рабочей директории подмодулей, что особенно полезно при работе с большим количеством вложенных репозиториев.
**Важно:** Эта настройка не скрывает сами подмодули, а только их внутреннее состояние. Подмодули всегда остаются частью репозитория.
---
## 👤 Автор
**Michael BAG**