Git с Dropbox

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

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

  1. У меня есть рабочий стол и ноутбук. У обоих есть Dropbox.
  2. Я инициализировал свои репозитории Dropbox, выполнив git init --bare, И затем в сценарии пост-фиксации моего рабочего стола, у меня есть git push --mirror dropbox,

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

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

  1. Вытащите с моего рабочего стола, так что происхождение моего ноутбука является рабочим столом.
  2. Вытащите прямо из Dropbox, так что источником моего ноутбука является Dropbox.

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

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

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

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

1 ответ

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

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

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

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

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

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