Git с Dropbox
Я использую git в течение полугода или около того, и я не знаю, использую ли я git полностью.
Прежде всего, я экспериментировал с Dropbox и чувствую, что если я смогу включить его в свой рабочий процесс, это было бы действительно здорово, поскольку Dropbox довольно удобен.
- У меня есть рабочий стол и ноутбук. У обоих есть Dropbox.
- Я инициализировал свои репозитории Dropbox, выполнив
git init --bare
, И затем в сценарии пост-фиксации моего рабочего стола, у меня естьgit push --mirror dropbox
,
Таким образом, мой рабочий стол и Dropbox всегда будут полностью зеркальными, что хорошо.
Мой реальный вопрос: как мне настроить свой ноутбук? Я слышал несколько предложений:
- Вытащите с моего рабочего стола, так что происхождение моего ноутбука является рабочим столом.
- Вытащите прямо из Dropbox, так что источником моего ноутбука является Dropbox.
Я занимаюсь номером 2, и я не знаю, правильно ли я поступаю. Мой рабочий процесс включает в себя:
- Каждый раз, когда я на своем ноутбуке, я делаю git pull (так как источником ноутбука является сам dropbox, а сам dropbox обновляется)
- Тогда, когда я проверяю ветку от dropbox до локальной ветки.
- После того, как я закончу с работой, я обязуюсь.
- Вот где я в замешательстве: я должен вставить --mirror в мои репозитории dropbox (репозитории моего ноутбука)? У меня возникают некоторые трудности в этой области: иногда Dropbox не очень хорошо синхронизируется и т. Д.
В настоящее время занимаюсь git branch -r
на моем рабочем столе после выполнения git push --mirror origin
на моем ноутбуке не отображается мой недавний коммит. Может кто-нибудь сказать мне, почему?
Я упоминал о вытягивании со своего рабочего стола напрямую, потому что таким образом я всегда могу инициализировать извлечение и я на 100% уверен, что синхронизация выполнена. С Dropbox я никогда не могу быть на 100% уверен, что обновление было отправлено на сервер Dropbox.
1 ответ
Если вы хотите добавить промежуточный контейнер репо, Dropbox отлично подходит при условии:
Вы используете
git bundle
формат: он генерирует пустое хранилище только с одним файлом (это означает, что Dropbox с большей вероятностью правильно синхронизирует его с любым из ваших компьютеров: речь идет только о копировании одного файла, а не "всей структуры", из которой вы не уверены, что получите все вернулось).Вы используете инкрементный пакет для каждого из ваших сохранений (опять же, один файл за сохранение, легко вытащить с другой стороны, чтобы вернуться к тому, что было сделано).
Назовите ваш прирост после источника (ноутбук или настольный компьютер) и с датой.
По сути, вы извлечете из любого xxx.bundle, который еще не вытащил.Вы регулярно очищаете все промежуточные инкрементные пакеты, заменяя их полным пакетом из любого источника, который является наиболее актуальным
Эта модель позволяет:
- простой процесс синхронизации (один или очень мало файлов)
- быстрый процесс сохранения (с добавочными пакетами)
- масштабирование: если существует более одного участника, то есть если несколько человек обновляют одну и ту же ветку, вы можете изолировать их вклады при извлечении из них, ссылаясь на свои комплекты, используя другое удаленное имя (поскольку каждый комплект представляет собой пустое хранилище, из которого вы можете вытащить).