2013-09-11 3 views
1

Я работаю над разработкой кода для встроенного приложения. Мои встроенные системы запускают linux/git и имеют собственный компилятор на борту, но у них нет сетевого оборудования или возможностей. Я могу с радостью установить USB-накопитель на эти встроенные системы.Как я могу разместить репозитории git в git-хранилищах в сетевой среде sneaker-net

У меня есть мой главный (голый) репозиторий git для исходного кода на моем настольном ПК и делаю довольно много развития там, в клоне репозитория. Простой/основной рабочий поток git прекрасен.

Что я представлю себе в виду, создавая -bare-клон репозитория на флэш-накопителе USB, а затем и кросс-сетку между моими встроенными системами.

Я хотел бы, чтобы хранилище git на борту каждой встроенной системы было клоном из репозитория USB.

Так рабочий я себе это:

  1. сделать некоторые изменения onbaord один из моих встраиваемых систем. Добавьте и скопируйте их в локальный клон git.
  2. Установите флэш-накопитель USB во встроенную систему и переместите изменения из локального репозитория в репозиторий накопителя большого пальца.
  3. Подключите USB-накопитель на моем настольном ПК и переместите эти коммиты в главный/открытый репозиторий
  4. Потяните за изменения в дерево разработки моего рабочего стола.

И тогда я хотел бы сделать реверс этого:

  1. Вносить изменения в моем рабочем столе, работающих GIT дерево, добавить, совершить, толкать их в главный репозиторий.
  2. Установите накопитель большого пальца на моем настольном ПК, потяните/извлеките основные изменения в клон git на флэш-накопителе.
  3. Установите флэш-накопитель на встроенной системе, тянуть/принести изменения в местное рабочее дерево на встроенной системе ...

Конечной целью является, чтобы иметь возможность вносить изменения в области развития на моем рабочем столе компьютера или на любой из моих встроенных систем (которые не имеют сетевых возможностей) и синхронизировать все.

Возможно ли это? Возможно ли это без огромных количеств git voodoo?

Я сел, чтобы справиться с этим в пару раз и продолжать бегать в дорожные блоки. Я не думаю, что мне нужен репозиторий -mirror'd на флэш-накопителе, потому что я хочу, чтобы иметь возможность вносить изменения в оба направления через флэш-накопитель.

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

Я надеюсь на что-то «простое», что я могу понять и сделать сам!

ответ

1

[Здесь предполагается, что мы просто говорим о регулярном мерзавец без каких-либо дополнений или дополнений]

Да, на самом деле вы можете.Есть несколько вещей, чтобы помнить здесь:

  • репозиторий Git является просто «.git» каталог
  • Репозиторий мерзавец „не знает“, где она есть, так что вы можете перемещать или копировать его без проблем
  • репозиторий Git имеет текстовый файл со списком, где его «перепятнышки» являются (т.е. там, где он может толкать/тянуть)
  • Там нет такого понятия, как «мастер» мерзавец хранилище: все хранилища равны

Итак, в самом примитивном, вы ку ld просто скопируйте каталог .git с «cp -a», и все будет в порядке.

Конечно, это не лучший способ ... вы, вероятно, захотите нажать и вытащить и причудливые вещи такого рода. Итак, что мы можем сделать, это вызвать репозиторий на вашем сервере «удаленный» (т. Е. Наш «мастер») репозиторий как для usb-палки, так и для вашего рабочего стола.

И позвоните в хранилище ручек USB «удаленный» для встроенных систем.

Самый простой способ сделать это следующим образом (вы, вероятно, получил первые два уже сделано):

  • Создать свой репозиторий на сервере
  • мерзавца клонировать репозиторий сервера в каталог на ваш рабочий стол
  • подключите USB палку в свой рабочий стол
  • мерзавец клонировать репозиторий сервера в папку на USB флэшки
  • Извлеките USB палку и подключить его к встроенной системе
  • мерзавец клонировать репозиторий с флэшки для вашей встроенной системы (повторить последние 2 шага для всех встроенных)

И это все. Теперь вы можете нажать и вытащить из встроенного в usb, а также с usb на сервер и с сервера на рабочий стол и USB.

 Смежные вопросы

  • Нет связанных вопросов^_^