Git bundle: теги и головки пакета

Я разрабатываю несколько машин. Я хочу иметь репозиторий для каждого из моих проектов на каждой машине разработки, и я хотел бы сохранить их в синхронизации, не используя удаленный репозиторий, на который я могу нажать. (На данный момент я не могу позволить себе выделенную машину для этой цели).

Я думаю, что набор git - это правильный инструмент для работы. Я просто свяжу свое репо, когда я закончил работу над машиной А и разделился на машине Б. Это оставляет мне следующие вопросы:

Можно ли встраивать информацию о тегах и ветвях в пакет? В частности, как я могу связать объекты тега?

РЕДАКТИРОВАТЬ: только примечание в сторону - я хочу, чтобы этот рабочий процесс был максимально автоматическим. Я не хочу рассматривать пакет как удаленный. Вместо этого я хотел бы дублировать пакет в моем репозитории - это добавлять фиксации и теги, перематывать существующие ветки и добавлять новые ветки, если ветвь не существует.

Ответ 1

git bundle create RA.bundle --branches --tags

будет включать информацию обо всех тегах и всех ветвях.

git bundle принимает список аргументов, приемлемых для git rev-parse и git rev-list (и содержащий именованный реф, см. УКАЗАНИЕ РЕФЕРЕНЦИЙ), который указывает конкретные объекты и ссылки на транспорт.

--branches[=<pattern>]

Представьте, что все ссылки ref в refs/heads перечислены в командной строке как <commit>.
Если задано <pattern>, ограничьте ветки тегами, соответствующими данному glob оболочки.
Если шаблон отсутствует ?, подразумевается , или [, / в конце.

--tags[=<pattern>]

Представьте, что все ссылки refs в тегах refs/tags перечислены в командной строке как <commit>.
Если задано <pattern>, ограничьте теги на те, которые соответствуют данному glob оболочки.
Если шаблон отсутствует ?, подразумевается , или [, / в конце.