git (любой SCM) и компиляция объектных файлов, переключение веток, их физиология - PullRequest
3 голосов
/ 28 апреля 2010

Если я скомпилирую ветвь A, то переключусь на ветку B, скомпилирую и вернусь к ветви A.

Все объектные файлы, затронутые компиляцией ветви B, должны быть перекомпилированы!

Обычно никто не регистрирует объектные файлы, но здесь, похоже, нет выбора.

Каковы идеальные рабочие методы здесь?

1 Ответ

4 голосов
/ 28 апреля 2010

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

При переключении веток git не трогает файлы, которые не отличаются между двумя ветвями.

Пока у вас есть соответствующие зависимости, выраженные или выведенные в вашей системе сборки, инкрементная сборка после переключения филиала будет работать и быть достаточно эффективной. Во многих моих проектах я часто переключаю ветки, а инкрементные сборки выполняются быстро и надежно.

Если вы хотите работать с двумя ветвями без необходимости вообще перестраивать их при переключении ветвей, вам следует использовать второй клон и работать в независимых рабочих областях.

Регистрация объектных файлов в том же хранилище, что и источник, который их создает, почти всегда плохая идея. Для начала, это позволяет проверить несоответствующие входные и выходные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...