Windows git bash: git clone https://github.com/... 结果是致命的:working tree ... 已经存在

Posted

技术标签:

【中文标题】Windows git bash: git clone https://github.com/... 结果是致命的:working tree ... 已经存在【英文标题】:Windows git bash: git clone https://github.com/... results with fatal: working tree ... already exists 【发布时间】:2022-01-16 14:59:24 【问题描述】:

所以我试图从这里克隆一个 repo

https://github.com/nglglhtr/getter-setter

我创建了一个新文件夹 FirstDapp 并在此处打开 git gui 然后从那里打开 git bash

然后我进入:

git clone https://github.com/nglglhtr/getter-setter

然后 bash 终端说: 致命:工作树 'D/.../FirstDapp' 已经存在

所以我从这里尝试了解决方案:

Exception "working tree already exists" while cloning GIT repo in pre-push hook

但那些没有用。有什么想法吗?

【问题讨论】:

【参考方案1】:

当你运行时:

git gui

GUI 将以 Git 的惯用方式搜索现有的 Git 存储库:

在当前工作目录中是否有存储库? 如果是这样,就这样,然后停止。 如果没有,请尝试“爬上一层”,例如,从 /path/to/current/dir 删除 /dir 部分,留下 /path/to/current,然后重新开始。

如果没有地方可以查看,git gui 会打开一个较小的、外观不同的窗口,并为您提供克隆或创建存储库的机会。

(为了简化事情,我故意省略了一些步骤,因为 Git 不会在某些点和某些条件下继续执行,但这些通常不适用于您的情况。)

既然你这样做了:

mkdir FirstDapp
cd FirstDapp

(或 Windows 等效项)并且 没有运行后续:

git init

FirstDapp 级别一定没有 Git 存储库,但 Git-GUI 找到了一个,因此必须一个更高级别的 Git 存储库。这是 Git-GUI 打开的存储库。

要解决这个问题,您应该使用git initgit cloneFirstDapp 目录中创建一个存储库:

git clone https://github.com/nglglhtr/getter-setter

例如。然后运行git gui 将找到那个 存储库。如果你创建一个空的,你需要做git clone会做的所有剩余步骤,所以使用git clone会更容易。

(顺便说一句,一般不推荐使用 Git-GUI。它只是一个玩具示例,而不是真正的 GUI。我个人首先不喜欢 GUI,并且会尽可能避免使用它们,并建议你做同样的事,但口味不同。)

【讨论】:

以上是关于Windows git bash: git clone https://github.com/... 结果是致命的:working tree ... 已经存在的主要内容,如果未能解决你的问题,请参考以下文章

使用Git Bash for Windows

windows下GIt Bash中文乱码怎么解决

如何在没有 Git Bash 或 GUI 的情况下在 Windows 10 上安装 git?

如何使用适用于 Windows 的 Git 更改 Git Bash 中的目录?

如何在 Windows 的 Git Bash 中设置别名?

Windows 在 git bash下使用 conda 命令