Подтвердить что ты не робот

"Google Диск может испортить репозитории" в Github Desktop

В первую очередь я работаю из папки Google Диска и упоминается в Github Desktop при создании новый репозиторий, который "Google Диск может испортить репозитории".

введите описание изображения здесь

В чем конкретно проблемы и что можно сделать, чтобы не повредить хранилища?

4b9b3361

Ответ 1

Мы поставили это предупреждение на место, потому что мы видели, что многие пользователи получают свои репозитории, поврежденные различными облачными решениями для хранения данных, такими как Google Диск и Dropbox.

Проблема сводится к условию гонки, когда Git быстро создает и изменяет файлы, а решение для хранения пытается идти в ногу. В некоторых сценариях это может привести к тому, что файл IO не будет вести себя как ожидается Git. Решение для хранения данных также может ошибочно восстановить файл, предназначенный для удаления. Хотя подобные проблемы чаще всего возникают при совместном использовании репозитория с другими людьми, мы видели проблемы с людьми, которые используют хранилище только для целей резервного копирования.

Лучшим способом резервного копирования репозиториев Git является фиксация на раннем этапе и часто и частое изменение ваших изменений в GitHub, даже если вы нажимаете их на ветки незавершенного производства, а не на ведущие или другие длинные ветки.

Если вы не используете GitHub или какой-либо другой пульт, а ваш репозиторий локальный, я бы рекомендовал создать голый репозиторий на вашем Google Диске, а затем клонировать ваш репозиторий на место за пределами Google Диска и работать оттуда. Всякий раз, когда вы вносили изменения, вы можете перетащить их в открытый репозиторий. Таким образом, у вас будет две копии всех ваших данных, если версия Google Диска будет повреждена.

Ответ 2

Google Диск уже испортил мою жизнь два раза (да, мне нужно было убедиться, что второй верят).

Мое решение, чтобы не забыть проталкивать в безопасное место, я создал некоторые автоматизированные задачи. Вы можете создать запланированную задачу для фиксации и изменения ваших изменений каждые X часов/дней... и т.д. например, для одной незавершенной ветки. Используя системы на базе Unix (Mac/Linux), вы можете использовать crontab.

Сначала создайте один bash script, i.e:/home/myScripts/autoGit.sh

# add and commit changes
cd /home/myProject && /home/myGit commit -a -m "automated commit/push `date`"

# push git server
cd /home/myProject && /home/myGit push origin wip

Затем вы создаете свою работу crontab по мере необходимости:

crontab -e

затем добавьте команды в файл

mailto: [email protected]
59 * * * 1,2,3,4,5 /home/myScripts/autoGit.sh

Это будет фиксировать и нажимать ваше репо каждые 59 минут на mon, tue, wed, thu, fri.

Надеюсь, что это поможет