Git с Dropbox

Я использую git полгода или около того, и я не знаю, использую ли я git полностью.

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

  • У меня есть рабочий стол и ноутбук. И то и другое есть dropbox.
  • Я инициализировал свои репозитории Dropbox делая git init --bare. А потом на моем рабочем столе post-commit script, У меня есть git push --mirror dropbox.

Таким образом, мой рабочий стол и Dropbox всегда будут полностью зеркалированы, что хорошо.

Мой настоящий вопрос: как мне настроить свой ноутбук? Я слышал несколько предложений:

  • Извлеките мой рабочий стол, чтобы мой Ноутбук происхождения рабочего стола.
  • Потяните прямо из dropbox, чтобы мой Новейшее происхождение - это dropbox.

Я делаю номер 2, и я не знаю, поступаю ли я правильно. Мой рабочий поток включает в себя:

  • Каждый раз, когда я нахожусь на своем ноутбуке, я делаю растягивание git (поскольку исходное изображение для ноутбука - это обновление для Dropbox и Dropbox)
  • Затем, когда я проверяю ветку из dropbox на локальную ветку.
  • После того, как я закончил работу, я совершаю.
  • Вот где я запутался: нужно ли мне нажимать --mirror на мои репозитории Dropbox (мои репозитории происхождения для ноутбуков)? У меня возникают некоторые трудности в этой области: иногда Dropbox не синхронизируется достаточно хорошо и т.д.

В настоящее время выполнение git branch -r на моем рабочем столе после выполнения git push --mirror origin на моем ноутбуке не показывает мой последний ноутбук. Может кто-нибудь сказать мне, почему?

Я упомянул, что вытащил свой рабочий стол прямо, потому что таким образом я всегда могу инициализировать pull, и я на 100% уверен, что синхронизация выполнена. С dropbox я никогда не могу быть на 100% уверен, было ли обновление перенесено на сервер Dropbox

Ответ 1

Если вы хотите добавить промежуточный контейнер репо, Dropbox в порядке:

  • Вы используете формат git bundle: он генерирует голое репо только с одним файлом (что означает Dropbox более вероятно для правильной синхронизации с любым из ваших компьютеров: это просто копирование одного файла, а не "всей структуры", из которой вы не уверены, что получите все обратно).

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

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

Эта модель позволяет:

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