Избегайте перекомпиляции с помощью git и make

У меня есть две ветки разработки в git, и мне часто приходится переключаться между ними. Тем не менее, действительно неприятно то, что каждый раз, когда я меняю ветки в git, весь проект перестраивается, потому что системные временные метки файла -для некоторых файлов меняются.

Конечно, make-файлы настроены на сборку проекта в два разных каталога сборки.

Есть ли способ обойти это? Компиляция — это очень долгий и трудоемкий -процесс...

Изменить :-Это чуть более подробное объяснение вопроса... Скажем, у меня есть заголовочные файлы Basic.h, которые включены в ряд других файлов. Basic.h различается для ветки 1 и ветки 2.

Теперь предположим, что я скомпилировал ветку 1 в сборку _ветку 1, а ветку 2 — в сборку _ветку 2. Скажем, у меня есть ветвь 2, которая в настоящее время проверена. Теперь я проверяю ветку 1, меняю File1.cpp и перекомпилирую. В идеале, поскольку с момента последней компиляции изменился только File1.cpp, это единственный файл, который следует перекомпилировать.

Однако, поскольку временная метка Basic.h была изменена из-за извлечения, все файлы, содержащие Basic.h, будут перекомпилированы. Я хочу избежать этого.

22
задан Sergey K. 16 July 2012 в 08:31
поделиться