OneDrive и Git - разные структуры папок - PullRequest
0 голосов
/ 13 января 2020

Я использую OneDrive для синхронизации c моих личных проектов между всеми компьютерами, с которыми я работаю (домашний рабочий стол, ноутбук и компьютер на работе). В моем домашнем P C у меня есть хранилище git по следующему пути:

I:\OneDrive\Documents\Projects\MyProject

На моем рабочем компьютере базовое расположение OneDrive сопоставлено с другим путем, поэтому папка синхронизируется с :

C:\Users\MyUser\OneDrive\Documents\Projects\MyProject

Я использую VSCode с интеграцией git, и все отлично работает на моем домашнем компьютере, но когда я открываю репозиторий с помощью VSCode на своем рабочем компьютере, он не распознает хранилище. Если я открою файл конфигурации в каталоге. git, я вижу, что рабочее дерево указывает на абсолютный путь моей домашней машины:

worktree = I:/OneDrive/Documents/Projects/MyProject

Я думаю, git пытается найти этот путь на моем рабочем компьютере, который не существует (поскольку OneDrive сопоставлен с другим местоположением), и поэтому он не распознает хранилище в VSCode.

Есть ли способ исправить это? Могу ли я заставить git использовать относительные пути при работе с репо? Я попытался изменить рабочее дерево на ../, но это не сработало.

Спасибо!

1 Ответ

1 голос
/ 14 января 2020

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

I: \ OneDrive \ Documents \ Projects \ MyProject \. git

Любой инструмент с интеграцией git должен подобрать правильный рабочий каталог для этого проекта.

Тем не менее, я настоятельно рекомендую использовать внешний репозиторий git, например, https://github.com. OneDrive не является идеальным местом для хранения вашего проекта, может быть, это нормально, если только вы работаете в этом проекте, но терпит неудачу, если кто-то присоединяется к проекту. Синхронизация git объектов, вероятно, также является проблемой для OneDrive, который ужасно масштабируется в больших проектах и ​​может повредить ваше хранилище git при неудачной синхронизации.

Кроме того, прелесть git в том, что вы не ' Вам нужен централизованный репозиторий git (это то, что вы в основном делаете сейчас с OneDrive), но на самом деле git - это распределенная система контроля версий. Некоторые дальнейшие чтения здесь: https://www.git-scm.com/about/distributed

Если вы настаиваете на переходе с OneDrive, вы должны использовать местоположение OneDrive только в качестве восходящего местоположения. Это означает, что вы вытягиваете из OneDrive и пу sh на него. Как мне использовать git без правильного git сервера? демонстрирует, как это сделать.

...