Использование Dropbox и Git без конфликтов - PullRequest
14 голосов
/ 09 июня 2011

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

Есть ли у них каталог .git без синхронизации в Dropbox?

Спасибо

Ответы [ 3 ]

15 голосов
/ 05 января 2013

Выборочная синхронизация кажется решением, но будьте осторожны: если вы пометите папку как исключенную, Dropbox удалит ее.

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

9 голосов
/ 09 июня 2011

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

Так что лучшим решением сейчас является синхронизация вручную, например, с rsync(1):

  1. Создать новую папку где-нибудь
  2. Синхронизировать эту папку с папкой в ​​Dropbox, используя rsync.Я предлагаю написать скрипт для этого.
  3. Добавить git-репо в эту новую папку
  4. Использовать второй скрипт rsync для обновления папки Dropbox (используйте --exclude .git здесь)
8 голосов
/ 13 сентября 2012

Я вижу два варианта:

  1. Используйте советы, приведенные в https://stackoverflow.com/a/8603156/112019, для хранения файлов репозитория .git во внешнем расположении (например, ~ / gitdropbox / myproject.git) с помощью --git-dir и --work-tree , Чтобы упростить использование, вы также можете добавить .git файл (не каталог) в папку, синхронизированную с Dropbox, с содержимым "gitdir: /path/to/repo.git", чтобы вы могли использовать git как обычно.

  2. Используйте подход, описанный Диланом Р. в https://forums.dropbox.com/topic.php?id=52360#post-387887, чтобы игнорировать папку .git. Затем вы сохраняете папку empy .git в системе dropbox и игнорируете ее локально с помощью функции выборочной синхронизации, а затем инициализируете репозиторий. Помните, что существующая папка .git удаляется с помощью dropbox при удалении с выборочной синхронизацией, поэтому убедитесь, что у вас есть локальная резервная копия, если у вас есть история, которую вы хотите сохранить.

...