Git Checkout显示本地不存在的目录

时间:2018-06-18 22:11:51

标签: git

使用git的命令行:

Desktop User1234$ git checkout
D   Desktop/repo4321/folder/folder2/folder3/file.txt
Desktop User1234$ rm -r repo4321
rm: repo4321: No such file or directory

这是什么伎俩?我将文件移动到垃圾箱并清空了垃圾箱。 repo4321文件夹在我的计算机上的任何地方都不存在,但它仍然显示在git checkout ...

2 个答案:

答案 0 :(得分:0)

我从你的问题中理解的是,

首先,您删除了该文件夹。 然后运行git checkout命令,显示以前删除的文件夹。

这是因为删除文件夹后你没有提交git。

删除文件夹后,您应该使用git commit -a -m "Deleted folder"将更改提交给git,然后尝试git checkout <branch_name>

答案 1 :(得分:0)

Desktop User1234$ git checkout
D   Desktop/repo4321/folder/folder2/folder3/file.txt

这意味着,在您的本地分支中,您提交此文件的某个地方。然后删除它。

首先这样做

git checkout Desktop/repo4321/folder/folder2/folder3/file.txt

因此,文件和目录又回来了。

现在找到添加文件的提交。并使用edit(交互式变基)通过git-rebase -i提交删除带有文件的目录。或者,如果是单独提交,只需drop提交而不是edit。或者,如果它是在最新提交中添加的,您可以删除它们并执行git commit -a --amend

您将无法使用该文件和目录。