首页 > 解决方案 > git subtree split error: 您需要从工作树的顶层运行此命令

问题描述

我在 /srv/git/mysite.git 中有一个 git 存储库。

工作目录设置为

/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

我再次收到错误:

您需要从工作树的顶层运行此命令。

我怎样才能解决这个问题?

标签: gitsplitgit-subtree

解决方案


对我有用,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

推荐阅读