git ошибка разбиения поддерева: вам нужно запустить эту команду с верхнего уровня рабочего дерева - PullRequest
0 голосов
/ 29 февраля 2020

У меня есть git репо в /srv/git/mysite.git.

Workdir установлен на

/srv/www/mysite

в git /srv/git/mysite.git/config:

[core] repositoryformatversion = 0
filemode = false
bare = false
worktree = /srv/www/mysite

[receive] denyCurrentBranch = updateInstead

Я хочу разделить с поддеревом содержимое каталога по адресу:

/srv/www/mysite/mysubsite

для ветки mysubsite.

Когда я выполняю:

cd /srv/git/mysite.git
git subtree split --prefix=mysubsite -b mysubsite

Я получаю сообщение об ошибке

Вам нужно запустить эту команду с верхнего уровня рабочего дерева.

Кажется, эта ветка имеет связанную информацию о моей проблеме: http://git.661346.n2.nabble.com/git-users-Problem-using-detached-worktrees-with-commands-implemented-in-scripts-td7597786.html

Я попробовал следующее:

export GIT_WORK_TREE=/srv/www/mysite

export GIT_DIR=/srv/git/mysite.git

cd /srv/www/mysite

git subtree split --prefix=mysubsite -b mysubsite

Я снова получаю сообщение об ошибке:

Вам нужно запустить эту команду с верхнего уровня рабочего дерева.

Как это исправить?

1 Ответ

0 голосов
/ 29 февраля 2020

У меня работает, export GIT_DIR было достаточно.

$ git --version 
git version 2.11.0

Также это работает:

$ cd /srv/www/mysite
$ git --git-dir=/srv/git/mysite.git subtree split --prefix=mysubsite -b mysubsite
...