当工作树与git repo分离时,在工作树中执行git命令的最简单方法是什么



我在上有裸数字回购

/home/git/mysite_com.git

每次推送此回购时,后接收挂钩会执行以下操作:

GIT_WORK_TREE=/var/www/mysite.com/live/www git checkout -f master

很明显,当我去:

cd /var/www/mysite.com/live/www 

并尝试任何git命令,它说:

fatal: Not a git repository (or any of the parent directories): .git

我找到了一个解决方案:

cd /var/www/mysite.com/live/www 
export GIT_DIR=/home/git/mysite_com.git
export GIT_WORK_TREE=/var/www/mysite.com/live/www

有更简单的方法吗?我必须复制&每次我需要使用git命令时,都会反复粘贴这些命令。

您可以在git repo:中设置core.worktree选项

$ git config core.worktree /var/www/mysite.com/live/www

然后在工作树中使用--git-dir选项来git

$ git --git-dir=/home/git/mysite_com.git <subcommand>

最新更新