2011-12-22 118 views
2

我已经从我的项目中删除了一些文件,但它们仍然在提交屏幕中显示D旁边的符号。Git commit,`没有这样的文件或目录?

当我尝试提交我得到的错误....没有这样的文件或目录,我怎样才能删除这些文件又名摆脱警告?

+0

你如何删除这些文件 – Dau 2011-12-22 10:53:09

+0

我从我的项目中删除了它们。但是源代码控制仍在显示它们。 – Jules 2011-12-22 18:26:09

+0

@Jules你能链接到Git状态输出的要点吗?这听起来像你的一些路径被搞乱了。 – ghickman 2011-12-22 22:20:49

回答

3

D表示删除。如果您使用rm或通过查找器删除文件,Git仍然知道文件。从Git和从硬盘中删除文件:

git rm <filename> 
git commit -m "message" 
+0

我收到没有匹配的任何文件。 – Jules 2011-12-22 16:55:05

0

根据该意见,似乎Git是不知道该文件的,即:该文件不是在指数上演。尝试运行命令的这个系列:

git add <filename> // stage the file 
git rm --cached <filename> 

也许你只需使用某种rm <filename>,在这种情况下,首先尝试签出该文件,然后尝试去除删除的文件。

git checkout HEAD -- <filename> 
git rm <filename> 
+0

我假设我需要使用终端来做到这一点。进入我的项目文件夹就足够了,我如何关联当前的git数据库? – Jules 2011-12-28 12:44:17

+0

在你的项目目录中,你会看到一个隐藏的目录'.git'。是的,只需“cd”到项目目录,然后尝试这些命令即可。 – 2011-12-28 13:18:57

0

在当你添加更改暂存区(提交之前),该删除文件更改的Git默认情况下不会上演。使用--all-A--no-ignore-removal选项与您的git add <filename>将进行所有类型的更改。

即。 git add . --all将在您提交之前暂存所有更改,包括已删除的文件更改。

另外,正如Dau在他的回答中提到的,如果你使用git rm <filename>和git从工作树和索引中删除文件。

相关问题