Краткое описание Bounty
Существует ли переносимый способ использования одного репозитория с несколькими проверками? В качестве альтернативы
множественные клоны, где слишком много накладных расходов (push/pulling/syncing...) и риск перезаписать жесткие ссылки .git/objects
(что даже не работает в Windows).
Новое в git и любопытно слышать мысли от опытных пользователей git.
Существует ли концептуальная причина, по которой git работает только с одной ветвью за один раз? Кажется совершенно непрактичным переключиться назад и вперед между ветвями, когда большую часть времени мне нужно работать, по крайней мере, с двумя разными ветвями одновременно. здание, работающее параллельно a.s.o.
Хорошо, возможно, разработчику действительно не нужно работать на двух ветвях точно в одно и то же время. Но при проверке другой ветки автоматически не переносятся проигнорированные вещи, такие как сборка выходных файлов. Поэтому требуется новая перестройка a.s.o.
Существует script git-new-workdir
, который должен допускать несколько рабочих ветвей, но для одного он не является частью выпуска git althoug, который был около 3 лет, поэтому я не доверяю это чтобы мои файлы были согласованы. Во-вторых, я не могу найти его как часть дистрибутива Windows, которая является одной из машин, которые я использую для разработки.
Таким образом, единственным официальным вариантом является создание нового "клона" для каждой ветки, что кажется неправильным, поскольку каждый клон представляет собой полномасштабный репозиторий. Я даже не знаю, как назвать каталоги клонов - я использую имя репозитория или имя ветки или и то, и другое? Что делать, если я создаю другую ветку с этой веткой, a.s.o.
Обновление для реальных случаев (предложение @Philip)
Я обычно работаю над двумя крупными/второстепенными релизами, причем функции идут параллельно. Существует также случайная ветвь развития, в которую входят экспериментальные функции, прежде чем они будут объединены в какой-то будущий выпуск.
Во время разработки функций часто поведение ухудшается, и более эффективно сравнивать его с поведением перед изменениями. Проверка предыдущей ветки/ревизии недостаточно хороша, потому что много раз она сводится к отладке бок о бок, что означает, что обе версии должны быть проверены одновременно на жестком диске.
Таким образом, более удобным и естественным подходом было бы сохранить несколько так называемых "активных" ветвей, проверенных каждый в своем собственном каталоге, с собственными скомпилированными двоичными файлами. Это также сэкономит время компиляции и случайную локальную настройку (т.е. Файлы конфигурации, которые необходимо изменить после каждой проверки, чтобы запустить продукт).