我尝试在pre-push脚本(客户端钩子)中克隆我的本地git存储库。我得到了例外:
fatal: working tree '...' already exists.
我不明白异常,因为我显然将repo克隆到另一个目录。
有什么想法吗?
我试过了:
unset GIT_DIR
cd ..
git clone ./TestTest/ /tmp/PrePushTestClone
它以完全相同的方式失败:(
答案 0 :(得分:6)
我有同样的问题,除了我正在处理pre-commit
钩子。在当前存储库中尝试clone
另一个repo时,文本错误如下:
致命:工作树'。'已经存在。
要解决此问题,我必须在clone
之前添加此行:
unset GIT_WORK_TREE
我在这里找到了这个解决方案:https://github.com/bower/bower/issues/1033
答案 1 :(得分:2)
也发生在我身上。我意识到我在git clone
的bash会话中运行了git rebase -i
,该会话在环境中设置了GIT_DIR和GIT_WORK_TREE。
退出bash会话解决了该问题...
答案 2 :(得分:1)
因为我显然将repo克隆到另一个目录。
您的摘要可能会将$GIT_DIR
视为引用您当前的回购,这会干扰git clone
。
请务必:
unset GIT_DIR
git clone
位于外部当前仓库文件夹