Как сотрудничать с poeple с помощью Dropbox, если я предпочитаю использовать Git (Github)? - PullRequest
0 голосов
/ 10 декабря 2018

Короткий вопрос:

  • Есть ли уловки из git, (или из командной строки / Git-bash / WSL _on_Windows), такие, что я буду хостить git-repo локально, куда я предпочитаю, и иметь только реальных файлов синхронизированных двусторонних между локальным git-repo и папкой Dropbox?

  • Еще короче: есть ли способ перенести локальное хранилище на удаленный Git и сделать так, чтобы файлы оставались "синхронизированными в двух направлениях" в папку Dropbox до и после push?

В конце дня я хотел бы продолжать нажимать на удаленное git-репо, как обычно.Я нажму вскоре после коммита и предпочту, чтобы все содержимое файла из двух источников (папка Dropbox и локальная копия Git-репо) оставалось синхронизированным до и после действий коммит-толчка. (здесь я менее уверен, поскольку это может противоречить философии «постановки» моих работ на каждый коммит.)

Уточнение : я не собираюсь делатьчто-нибудь необычное с Git.Я предпочитаю продолжать работать с одной и той же веткой и извлекать / толкать из / в то же репозиторий Github, что и удаленный. В частности, мне нужно будет заставить все работать на нескольких ПК и Linux-машине .

Неудачные попытки:

  1. СначалаЯ думаю, это плохая идея инициализировать git-репо внутри папки ~/Dropbox, так как создает беспорядок и, таким образом, вероятно, конфликтует .
  2. Я думал о создании«Выборочная синхронизация» через графический интерфейс Dropbox для простого исключения папки .git.Тем не менее, без такой папки .git неясно, как установить локальное репо на всех моих компьютерах (я использую несколько компьютеров с Windows и еще один компьютер с Linux).
  3. Я не очень хорош в symlink, и играл с ним много раз, но не смог.Если кто-то предложит это, пожалуйста, будьте точны.Кроме того, мне нужно, чтобы он работал на нескольких машинах Windows и Linux.Я рад добавить больше подробностей, пока я получу от вас рабочую демонстрацию.

Фоны

К счастью, мои сотрудники улучшили привычку пересылать черновики и работу по электронной почте.-процесс через кучу zip-файлов.В настоящее время они довольны общей папкой Dropbox.Тем не менее, они не слишком заботятся о контроле версий.Цитаты из них: «Git в командной строке? Это шутка?»lol.

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

alias ga='git add -A'
alias gs='git status'
alias gc='git commit -m'
alias gp='git push'
alias gpp='git pull'

Я ищу способ использовать Git (Github) и Dropbox в гармонии.И мне известны следующие знания:

Среди трех неудачных попыток с моей стороны я склонен верить какой-то команде symlink (или сложным сценариям)сделает свое дело.Ждем дальнейших инструкций от сообщества.Я отмечаю как много контроль зрения

1 Ответ

0 голосов
/ 10 декабря 2018

Пробная попытка с использованием git-worktree?

Вдохновленный noamross ' post , следующая цитата выглядит применимой к моей ситуации

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

Шаги, кажется, супер уместны, и я чувствую, как экспериментирует следующее: * Инициализировать репо в другом месте;* Как предлагается в оригинальном сообщении , введите команду git worktree add -b dropbox ~/Dropbox/project-repo-dropbox, чтобы создать другую ветку в Dropbox.

Оставшаяся документация для метода git-worktree (пока отсутствует)

  1. Как скопировать параметр git worktree на другой компьютер с Windows / Linux?
  2. Хорошая ссылка на "ветвление в Git".Лично я не часто использовал ветки, и мне нужно обновить этот пост с полным рабочим процессом.
  3. Ну, простой ответ, работает ли предложенный рецепт или нет.(У меня еще не было времени попробовать.)

Пожалуйста, сообщите, если у вас есть лучшие идеи:)

...