我在 /srv/git/mysite.git 有一个 git repo。
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
最后我在另一个论坛上得到了帮助:https://stackoverflow.com/a/60467173/4523359
解决方案是使用--git-dir
工作树路径中的选项:
$ cd /srv/www/mysite
$ git --git-dir=/srv/git/mysite.git subtree split --prefix=mysubsite -b mysubsite
使用此解决方案,分支创建成功!