Как держать одновременно две ветки в рабочей копии?
Я вижу два варианта:1. Использовать два репозитория.
Вы просто клонируете репозиторий еще в одно место и работаете с ним отдельно.
- Весь репозиторий дублируется, но если он не очень большой по размеру - в этом нет ничего страшного
- Переносить изменения между репозиториями надо будет через pull/push, просто commit-ов будет недостаточно. Например, в репозитории (а) делается коммит в ветку (1), в репозитории (б) делается fetch из репозитория (а) ветки (1) и дальше ее коммиты могут уже черри-пикаться или как-то еще переносится в ветку (2).2. Использовать дополнительную рабочую директорию (git 2.5+)
В новой версии git 2.5 появилась команда для создания дополнительной рабочей директории: git worktree. Если есть возможность обновить git, это наиболее удобный вариант. Нужно иметь ввиду, что фича пока эксперементальная.
Вообще, Git хорош для исходных кодов. Хранить бинарные выпуски прошивок в репозитории нехорошо.
В идеале для тестирования нужно в ветке master иметь подпапку со сценариями (скриптами) для тестирования.
Если речь идёт, допустим, об экспериментальных прошивках, то, возможно, имеет смысл создать отдельный git-репозиторий и периодически (после тестирования) вливать в стабильный репозиторий.
Или, альтернативно, чтобы не переключаться постоянно, предлагаю сделать следующее:создать новую папку проекта PrjTest, склонировав master репозиторий при помощи git cloneсоздать в репозитории ветку test/experimental для тестирования: git checkout -b test. В новой папке будет основной ветка для тестированияпереключаться между ветками не нужно: просто используется путь к другой папке: Prj или PrjTest