目标路径已存在且不是空目录

flo*_*ays 40 git

我克隆了一个 git 存储库,但不小心搞砸了。所以我重新克隆并显示消息:

目标路径已存在且不是空目录

我尝试使用目标路径的名称删除我的 mac 中的文件夹,但它没有用。

我对编码很陌生,因此将不胜感激所有帮助。

Raf*_*nso 53

对于根文件夹(以及任何其他文件夹)

对于那些来这里想要

  • 克隆已有内容的存储库

在一个

  • 已包含文件/文件夹的现有文件夹

请按照以下步骤操作(在本例中为根文件夹):

cd /
git init
git remote add origin <your-repo-url>
git pull
git checkout main -f
git branch --set-upstream-to origin/main
Run Code Online (Sandbox Code Playgroud)

更改“cd /”以指向您想要的文件夹


对于需要 sudo 的远程计算机

在远程计算机中,对于根文件夹,当不是 root 用户时;您可以执行sudo --preserve-env=SSH_AUTH_SOCK 命令来转移 ssh 代理。例如:

sudo --preserve-env=SSH_AUTH_SOCK su
Run Code Online (Sandbox Code Playgroud)

或者将文件添加到 /etc/sudoers.d 并包含以下内容:

Defaults    env_keep+=SSH_AUTH_SOCK
Run Code Online (Sandbox Code Playgroud)


Sea*_*ker 13

解释

这很模糊,但我会尽我所能提供帮助。

首先,虽然一开始看起来令人生畏,但我建议您学习如何从命令行(在 OSX 上称为终端)中进行操作。这是确保你把东西放在你真正想要的地方的好方法。

您绝对应该谷歌“unix 命令”以了解更多信息,但这里有一些重要的命令可以在这种情况下提供帮助:

ls - 列出当前目录中的所有文件和目录(文件夹)

cd <input directory here without these brackets> - 更改目录,或更改您正在查找的文件夹

mkdir <input directory name without brackets> - 创建一个新目录(小心,创建后必须cd进入该目录)

rm -r <input directory name without brackets> - 删除目录及其中的所有内容

git clone <link to repo without brackets> - 将存储库克隆到您当前浏览的目录中。

回答

因此,在我的计算机上,我将运行以下命令在我的文档文件夹中创建一个名为 projects 的目录(文件夹),并在那里克隆一个 repo。

  1. 打开终端
  2. cd documents (在 mac 上不区分大小写)
  3. mkdir projects
  4. cd projects
  5. git clone https://github.com/seanbecker15/wherecanifindit.git
  6. cd wherecanifindit (如果我想进入目录)

ps wherecanifindit 只是我的 git 存储库的名称,而不是命令!


Far*_*dLU 8

当您尝试在仍包含.git文件夹(隐藏文件夹)的文件夹中克隆存储库时,会出现此错误。

如果前面的答案不起作用,那么您可以继续我的答案。希望它能解决你的问题。

打开终端并将目录更改为目标文件夹(要克隆的位置)。

现在输入: ls -a

您可能会看到一个名为.git.

您必须通过以下命令删除该文件夹: rm -rf .git

现在您已准备好克隆您的项目。

  • 然而,当没有“.git”文件夹时,它也会出现。例如,如果您使用 PyCharm 创建一个项目文件夹,您将有一个“.idea”文件夹。我认为OP需要的是一种“强制”git克隆存储库的方法,无论是否覆盖(尽管在上述情况下甚至不需要覆盖)。 (13认同)

Jam*_*ott 7

这只是意味着 git 克隆从 github 复制了文件并将它们放入一个文件夹中。如果您尝试再次执行此操作,它不会让您这样做,因为它无法克隆到包含文件的文件夹中。因此,如果您认为 git 克隆没有正确完成,只需删除该文件夹并再次执行 git 克隆即可。克隆会创建一个与 git 存储库同名的文件夹。

  • 我删除了该文件夹,但它仍然显示编辑:好吧,我是个白痴,它没有正确删除 (2认同)

Arp*_*wal 6

出现此错误的步骤;

  1. 在文件夹中克隆存储库(例如,将名称命名为 xyz)
  2. 不要尝试在同一文件夹中再次克隆。即使手动删除文件夹后,也会出现此错误,因为删除文件夹不会删除 git info 。

解决方案: rm -rf“repo 文件夹的名称,在这种情况下是 xyz”。所以

rm -rf xyz
Run Code Online (Sandbox Code Playgroud)


小智 5

对我有用的是,我创建了一个不包含任何其他文件的新文件夹,然后选择我创建的新文件夹并将克隆放在那里。

我希望这有帮助