Репозиторий Git в синхронизированной папке OneDrive
Я пытаюсь создать git-репозиторий, расположенный в синхронизированной папке OneDrive, но у меня возникла проблема.
Я использую OneDrive для синхронизации папок между несколькими устройствами через "облако". На моей машине для разработки (Win 7 64) папка OneDrive находится в папке C:\Users\myusername\OneDrive.
Я создал подпапку \git в этом каталоге и создал репозиторий git для своего кода (foo.git) в этой папке.
На той же машине я могу клонировать этот репозиторий в другую папку, которая не синхронизируется с OneDrive, и отправлять и извлекать изменения.
Однако на моей другой машине (Win 8.1 64), которая также синхронизируется с OneDrive, когда я пытаюсь клонировать репозиторий (похоже, все находится там в C:\Users\myusername\OneDrive\git\foo.git), я получить сообщение об ошибке "это не правильный git-репозиторий".
Содержимое папки \git "должно" быть одинаковым на обеих машинах, поскольку они синхронизируются. Единственное, о чем я могу думать, это то, что в моем git-репозитории могут быть скрытые папки/файлы, которые не синхронизируются. Предполагается, что OneDrive синхронизирует все, включая скрытые файлы и папки (насколько я знаю).
Есть ли скрытые папки или файлы в удаленном репозитории git?
Я не уверен, почему это не работает, я читал о других, которые используют OneDrive для хранения удаленного хранилища git без проблем. Может быть, проблема в том, что одна машина - Win 7, а другая - Win 8.1?
Поскольку я исчерпал свое поисковое решение, пытаясь найти решение, есть ли у кого-нибудь совет или понимание того, что я могу делать неправильно?
Ответы
Ответ 1
OneDrive не поддерживает (пока!) поддержку синхронизации файлов, начинающихся с периодов, таких как папка .git, где сохраняются метаданные git.
Из-за этого вы не видите, что эти элементы синхронизируются с OneDrive.
(Это относится только к старой версии OneDrive Client, я создал новый ответ, отражающий возможности текущей версии 8/2015)
Ответ 2
Клиент синхронизации OneDrive теперь поддерживает синхронизацию папок, содержащих в них символ периода. ' это должно позволить вам автоматически синхронизировать эти репозитории git, пока они находятся в папке OneDrive.
Получите последнюю версию OneDrive Client, и все установлено.
Ответ 3
По состоянию на 27.06.2017, Версия 2016 (Строка 17.3.6917.0607)
OneDrive для бизнеса будет поддерживать синхронизацию dotfiles (и dotdirectories)
Тем не менее, OneDrive - это очень плохое решение, если вы не добавляете фиксаторы фиксации для исключения файлов: https://support.microsoft.com/en-us/help/3125202/restrictions-and-limitations-when-you-sync-files-and-folders
Кроме того, я не знаю, как все будет вести себя в условиях гонки. Если есть более одного коммиттера (включая автоматизированный материал), это может быть небезопасно.
Ответ 4
Создается папка с ручным созданием с именем ".git", а на сервере onedrive - ".git".
Ответ 5
У меня было то же самое с DropBox и OneDrive.
Требуется некоторое время, прежде чем папки будут полностью синхронизированы, а остальные клиенты будут полностью осведомлены об изменениях.
Если что-то отсутствует git жалуется, как ожидается.
Вручную принудительно синхронизация на стороне разрешает его.
Я подозреваю, что способ, которым он реализовывался (или используется) Windows, вызывает его. Dropbox на Ubuntu не показал проблем. (Если бы я не спешил и ожидал полной синхронизации на моей другой коробке через 3 секунды позже, -))
Я отказался от решения DB и OD.
В конце концов я решил взять учетную запись на github. Гораздо удобнее.
Установка чего-то типа GitLab или Gitblit (используя Tomcat on Win) на поле поможет также для частных репозиториев.