Edit: После такой работы с Git в течение некоторого времени я пришел к выводу, что разбиение рабочего каталога может вызвать некоторые странные ошибки.Как только я вернулся к стандартной настройке (репозиторий в том же каталоге, что и рабочий каталог), у меня больше не было ошибок.Я оставлю свои заметки ниже на тот случай, если кому-то будет интересно, как я их настроил, но я не рекомендую делать это.
После некоторых исследований я нашел два источника, которые помогли мне найти решение, но у меня были проблемы с аутентификацией, которые мешали им работать.В конце концов я понял, как просто сделать это вручную без необходимости использования консольных команд.По сути, я сделал это:
- Найдите папку .git в рабочем каталоге (весь репозиторий находится в этой единственной папке)
- Вырежьте и вставьте папку .git в папку, которую выхотите, чтобы он хранился (например, на накопителе)
- В папке .git найдите файл конфигурации.Откройте его в текстовом редакторе, таком как Notepad ++.
В разделе [core] определите рабочий каталог с рабочим деревом.Пример:
worktree = C: / MyProjects / MyGitWorkingTree
Весь раздел [core] может выглядеть примерно так:
[core]
bare = false
repositoryformatversion = 0
filemode = false
symlinks = false
ignorecase = true
logallrefupdates = true
worktree = C:/MyProjects/MyGitWorkingTree
[remote "origin"]
[... the rest of the file is down here...]
Вернитесь в свой рабочий каталог (каталог, из которого вы взяли папку .git) и создайте новый файл с именем .git.В Windows, чтобы сделать это, вам нужно назвать файл .git.(обратите внимание на последнюю точку в конце)
Откройте новый файл .git, который вы создали с помощью текстового редактора (например, Notepad ++).Он должен быть полностью пустым при открытии, поскольку это новый файл.
Введите новую строку, которая является точным путем к каталогу git, который вы переместили на шаге 2. Пример:
gitdir: D: \ MySeparatedGitRepo \ .git
И если вы выполните эти шаги выше, у вас должно быть отдельное git-репо, которое работает как любое обычное репо без необходимостиинструменты командной строки.
Как примечание, я лично указывал свои инструменты с графическим интерфейсом для чтения из фактического git-репо на диске хранения, но я думаю, что вы также можете указать их на рабочий каталог.Они просто указывают друг на друга, если я правильно понимаю.