我想使用 Git 存储库,但工作树应该是远程的。例如:如果我的项目存储在~/project
and project.git
存储在里面~/git/project.git
.
我通过配置更改了工作树:
worktree=/Users/myuser/project
我可以提交并查看差异,但是当我尝试这样做时git stash
,我收到错误:
致命:如果没有工作树,则无法使用 /usr/libexec/git-core/git-stash 。
如何储存.git
目录远离工作树?
为什么我会收到此错误?
git config --get core.worktree
返回正确的工作目录....
以下似乎有效,请根据您的需要进行调整:
mkdir git
mkdir work
git --git-dir git/test --work-tree work/test init
mkdir work/test
echo -n foo > work/test/foo.txt
git --git-dir git/test status
git --git-dir git/test add foo.txt
git --git-dir git/test commit -m 'commit 1'
编辑:请注意,您不必指定--work-tree
由于该值存储在存储库初始化之后git/test/config
.
您还可以 cd 进入工作/测试并从那里提交:
cd work/test
echo -n bar > bar.txt
git --git-dir ../../git/test status
git --git-dir ../../git/test add .
git --git-dir ../../git/test commit -m 'commit 2'
然后使用绝对路径--git-dir
or set GIT_DIR
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)