У меня чертовски много времени получается, когда git взаимодействует с моим определяемым пользователем рабочим деревом, которое существует вне папки, в которой находится мой каталог .git.
По сути, установка выглядит следующим образомУ меня есть две директории, одна называется git-worktree, в которой находится файл, который я хочу отслеживать, и другая называется git-dir, которая содержит папку .git репозитория, также называемую GIT_DIR.
Я запускаю репозиторий, запустив cd'ing в папку "git-dir" и запустив:
git --git-dir=./.git --work-tree=/Users/braitsch/Test/git-worktree/ init
Это успешно инициализирует репозиторий, и пока я нахожусь в "git-dir"В папку я могу добавлять файлы, находящиеся в рабочем дереве, запускать git status и фиксировать их.Круто.
Пинок в яйцах здесь приходит, когда я пытаюсь запустить git stash, который дает мне ошибку:
fatal: /usr/local/git/libexec/git-core/git-stash cannot be used without a working tree.
Теперь это BS, потому что я знаю (или, по крайней мере, яПодумайте, у меня есть рабочее дерево, установленное в папку "git-worktree", которая содержит файлы, которые я хочу отслеживать.
git config --local -l показывает мне следующее:
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.worktree=/Users/braitsch/Test/git-worktree
core.ignorecase=true
Я даже пытался вручную добавить папку .git в локальный конфигурационный файл, чтобы посмотреть, помогает ли это, но безрезультатно.
core.gitdir=/Users/braitsch/Test/git-dir/.git
Теперь вот и кикер.Git stash будет работать , если я установлю рабочее дерево в каталог, который является родительским для git-dir Например, если я установлю рабочее дерево в качестве своего домашнего каталога.
core.worktree=/Users/braitsch/
Так чтоУ меня вопрос к вам, ребята, в какой настройке мне не хватает, чтобы git разрешил моему рабочему дереву существовать в любом месте в файловой системе, а не только по родительскому пути обратно git-dirдо корня?Наверняка должен быть способ разместить ваш git-dir и ваше рабочее дерево, куда вы хотите, и после того, как он сказал git, где они все работают?Большое спасибо за чтение.Любые идеи будут любезно оценены.