Я работаю над большим проектом Scala, где мы используем Git для управления версиями. Мой рабочий процесс - это работа над новыми функциями в моей ветке и при необходимости переключаться. Различные версии кода находятся в их собственных ветких. Все очень стандартно.
Если мне нужно исправить ошибку в определенной версии кода, я переключусь на правильную ветку, исправлю ошибку, зафиксирую, а затем вернусь туда, где я был.
Проблема в том, что хотя Git мгновенно переключается на другую ветку, как только я там, мне нужно перекомпилировать код. Это занимает несколько минут. Затем исправьте ошибку, вернитесь к моей ветке и выполните еще одну перекомпиляцию, которая занимает еще несколько минут. Похоже, что он побеждает цель Git быть настолько быстрой.
Кто-нибудь еще столкнулся с этим? Есть ли способы обойти это. Я уверен, что это не проблема Scala (хотя Scala эпилептически медленна при компиляции).
обновление через 3 года
Я использую @djs answer (git -new-workdir) за последние несколько лет. Это работало очень хорошо для меня. У меня есть главный каталог и несколько других каталогов (например, производство, следующий выпуск и т.д.), На которые я переключаюсь, когда мне нужно работать там. Там очень мало накладных расходов, и это означает, что вы можете быстро переключиться, чтобы сказать, произвести, что-то проверить, а затем вернуться к тому, над чем вы работали.