Имеется хранилище https://github.com/MeridianOXC/OpenXcom , где в открыто-свободный игровой движок добавляют экспериментальные патчи. В нём — куча веток.
refs/publish/master соответствует «ванильному» оригиналу, где все патчи проверены и одобрены, а требования к качеству кода самые жёсткие.
Всё самое новое и интересное лежит в refs/heads/oxce3.5-plus-proto
Я скачал ветку oxce3.5-plus-proto, собрал и играю. Время от времени обновляюсь гитом и пересобираю (cmake . && make). Когда нахожу баг, обновляю ванильную версию и заодно проверяю на ней.
Вопрос: каким образом переключаться между ветками, чтобы можно было просто отдать команду git, запустить компиляцию и получить искомый бинарник? Помимо хранения 2 экземпляров пакета в разных директориях. Мои попытки это сделать по мануалу пока приводили в лучшем случае к необратимому переключению на master, так что для скачивания «plus» нужно сносить весь архив.
Ответы:
Список внешних репозиториев смотреть командой git remote show. Список веток смотреть командой git remote show ИмяРепозитория. Она выдаст список кратких имён, которые следует использовать вместо длинных.
Параллельный архив советуют создавать командой
git worktree add ../ИмяДиректории oxce3.5-plus-proto
По-видимому, странное поведение вызывалось использованием длинного имени ветки в командах git branch и других, требующих имя ветки.