Есть директория1 с исходным кодом проекта на несколько гигабайт (например, llvm). Объектные файлы находятся в отдельной директории2.
Проблема: переключение с помощью git checkout
в другой бранч и обратно в директории1 без каких-либо правок кода влечет пересборку весьма значительной части того, что уже было собрано в директории2.
Вопрос: правильно ли я понимаю, что единственным способом избежать пересборки является фиксация директории1 с исходным кодом (т.е. один раз создать нужный бранч и писать код там, но не прыгать между бранчами)?
Такой вариант тоже мог бы устроить, но если хочешь посмотреть, что происходит в основном бранче, то придется клонировать этот репо в отдельную директорию с этим бранчем. Таким образом, не получится организовать схему «один репозиторий - множество сборок». Придется для каждой сборки иметь и отдельный репозиторий с кодом.