Git подмодуль абсолютный путь пути работы
Это мой файл подмодуля redmine_dashboard:
Файл конфигурации субмодуля:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
worktree = /Users/daniel/redmine/vendor/plugins/redmine_dashboard
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:ebc/redmine_dashboard.git
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 841x391+-8+43 187 177
Mac
worktree = /Users/daniel/redmine/vendor/plugins/redmine_dashboard
Linux
worktree = /home/daniel/redmine/vendor/plugins/redmine_dashboard
Проблема
Можно ли изменить этот абсолютный путь для родственника? Что-то вроде:
worktree = ../../vendor/plugins/redmine_dashboard
Ответы
Ответ 1
Да, вы должны иметь возможность обновлять конфигурационный файл с помощью относительного пути. Вы также должны обновить директорию worktree в файле .git
в корне подмодуля, чтобы быть относительным путем назад к этому модулю.
Я считаю, что это исправлено в (по крайней мере) самой последней версии git (1.7.10.1). Кажется, я не могу найти журнал изменений, поэтому я понятия не имею, когда он был исправлен. Я смог git устранить проблему, удалив как подмодуль, так и папку в папке .git/modules
, а затем переделав git submodule init
и git submodule update
.
Ответ 2
Обратите внимание, что в справочной странице git config
говорится:
core.worktree
Задайте путь к корню дерева работ. Это может быть переопределено переменной среды GIT_WORK_TREE
и параметром командной строки --work-tree
.
Это может быть абсолютный путь или относительный путь к каталогу .git
, заданный --git-dir
или GIT_DIR
, или автоматически обнаруженный.
Если указаны --git-dir
или GIT_DIR
, но не указано ни одного из --work-tree
, GIT_WORK_TREE
и core.worktree
, текущий рабочий каталог рассматривается как корень дерева работ.
Ответ 3
Почему вы устанавливаете worktree
вообще? По умолчанию дерево работы - это то, где вы запускаете свои команды, где находится каталог .git
. См. этот вопрос для получения дополнительной информации.