Репозиторий Github клонирован на синхронизированный диск iCloud на нескольких компьютерах

У меня есть пара компьютеров Mac, на которые я клонирую большое количество репозиториев git (в основном GitHub). У каждого Mac есть несколько синхронизированных каталогов iCloud (на самом деле я пошел ва-банк и синхронизировал Desktop и Documents).

Я попытался клонировать в каталоги, синхронизированные с iCloud. Однако у меня было много проблем с этим. Кажется, очень легко попасть в состояние, когда iCloud (не git) настолько запутается, что одна машина фактически перестанет синхронизироваться, даже файлы, которые не имеют ничего общего с клонированными каталогами, и даже если я тщательно повторно синхронизирую каждый из двух клонов. в точно такое же состояние. Я не знаю, проблема в файлах под .git/ или в чем-то вроде условий гонки между версиями реальных файлов репо.

Я пытался использовать различные инструменты ведения журнала iCloud от Apple под brctl, но это, как правило, не помогало.

Кто-нибудь еще видел это или что-то подобное?

(Это несколько отличается от этого вопроса, который в основном кажется, заботится об одном Mac с диском iCloud, и я не думаю, что пользователи в такой ситуации увидят те же проблемы, что и я.)


person Andrew Jaffe    schedule 04.03.2019    source источник
comment
В соответствии с stackoverflow.com/questions/35853139/, вероятно, лучше избегать синхронизации репозиториев Git через iCloud. Сохранение легковесных репозиториев, регулярная отправка локальных изменений в соответствующие ветки и извлечение по мере необходимости может помочь сохранить ваши локальные версии репозитория чистыми и в хорошем рабочем состоянии.   -  person Will    schedule 19.03.2019


Ответы (2)


Я обнаружил, что icloud и git плохо работают вместе. icloud вставляет точечные файлы повсюду, и если вы делаете узел с гигантскими каталогами node_modules, это приводит к безумию. Он восстановит старые файлы, а функции вашего репозитория git в основном конкурируют с любым случайным резервным копированием и синхронизацией, которые делает icloud.

Мой урок состоит в том, чтобы НЕ размещать репозитории в любом месте, где их поддерживает icloud. Кроме того, это избыточно, если у вас есть учетная запись git или bitbucket (или удаленный git) в другом месте, поскольку тогда репо по определению является восстанавливаемым версионным способом.

person jeffg    schedule 04.04.2019

использование iCloud (или Drive) для этой задачи кажется совершенно неправильным подходом из-за нескольких локальных рабочих копий (которые в случае git также являются репозиториями), а удаленные репозитории могут быть не полностью синхронизированы. лучше исключить эти репозитории из синхронизации и настроить cron-джоб, который подтягивает их с git, как и должно быть. подобно этому, малы шансы, что это может испортить локальные .git каталоги (которые не идентичны на каждой машине) - несмотря на то, что незафиксированные файлы не будут мгновенно синхронизированы. это могло бы, по крайней мере, объяснить, почему синхронизация одной машины все еще работает. Я бы только синхронизировал шелл-скрипт, который запускается как cron-джоб, который тянет эти репозитории, чтобы можно было удобно добавлять/удалять репозитории оттуда.

person Martin Zeitler    schedule 11.03.2019