Эффективно ли использовать Git и Dropbox?

function assignFilePreviews() {
      $( 'input[data-previewable=\"true\"]' ).change(function() {
          var prvCnt = $(this).attr('data-preview-container');
          if(prvCnt) {
            if (this.files && this.files[0]) {
              var reader = new FileReader();
              reader.onload = function (e) {
                var img = $('<img>');
                img.attr('src', e.target.result);
                img.error(function() {
                  $(prvCnt).html('');
                });
                $(prvCnt).html('');
                img.appendTo(prvCnt);
              }
              reader.readAsDataURL(this.files[0]);
          }
        }
      });
    }
$(document).ready(function() {
     assignFilePreviews(); 
});

HTML

<input type="file" data-previewable="true" data-preview-container=".prd-img-prv" /> <div class = "prd-img-prv"></div>

Это также обрабатывает случай, когда выбран файл с недопустимым типом (например, pdf)

1107
задан Ian Ringrose 12 February 2014 в 12:27
поделиться

4 ответа

Я считаю, что Git на Dropbox - это здорово. Я использую его все время. У меня есть несколько компьютеров (два дома и один на работе), на которых я использую Dropbox в качестве центрального репозитория. Поскольку я не хочу размещать его в общедоступной службе и у меня нет доступа к серверу, на который я всегда могу использовать ssh, Dropbox позаботится об этом, синхронизируя (очень быстро) в фоновом режиме.

Настройка выглядит примерно так:

~/project $ git init
~/project $ git add .
~/project $ git commit -m "first commit"
~/project $ cd ~/Dropbox/git

~/Dropbox/git $ git init --bare project.git
~/Dropbox/git $ cd ~/project

~/project $ git remote add origin ~/Dropbox/git/project.git
~/project $ git push -u origin master

Оттуда вы можете просто клонировать ~ / Dropbox / git / project.git , который вы связали со своей учетной записью Dropbox (или поделились этим каталогом с людьми), вы можете выполняйте все обычные операции Git, и они будут автоматически синхронизированы со всеми другими вашими машинами.

Я написал сообщение в блоге, On Version Control ,

1386
ответ дан 19 December 2019 в 20:16
поделиться

На MacOS можно также просто остановить Dropbox, внести изменения и затем повторно запустить Dropbox. Я использую следующую комбинацию и довольно доволен ею:

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

git config --global gc.auto 0

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

osascript -e "tell application \"Dropbox\" to quit"

# Compress local
git gc --prune=now; git repack -a -d

# Compress remote
REPOS_DIR_REMOTE=`git remote get-url --push origin`
cd "${REPOS_DIR_REMOTE}"
git gc --prune=now; git repack -a -d

osascript -e "tell application \"Dropbox\" to launch"
osascript -e "display notification with title \"Compress Done\""
0
ответ дан 19 December 2019 в 20:16
поделиться

Я не думаю, что использование Git и Dropbox - лучший вариант ... Просто подумайте об особенностях обоих:

Git:

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

Dropbox:

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

И если вы беспокоитесь о том, чтобы поделиться некоторыми своими файлами, почему бы не зашифровать их? И тогда вы сможете получить самое большое преимущество Dropbox перед Git, то есть иметь общедоступные и частные файлы ...

15
ответ дан 19 December 2019 в 20:16
поделиться

Мы используем этот метод (создание чистого репозитория в Dropbox) в общей папке .

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

Одна вещь, которую мне не хватает, - это хороший способ получить электронное письмо с информацией о наборе изменений после того, как произойдет push to origin. Мы используем Google Wave для отслеживания изменений вручную.

6
ответ дан 19 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: