如何从Git仓库中删除已删除的文件?
我删除了一个包含许多文件的JavaScript库文件夹。然后我去提交这样的更改:
git add .
git commit "message"
git status
但它将所有这些文件显示为“已删除....”。
我怎么能让它们消失?
如果它列出了“待提交”部分下的文件,那么继续进行提交;文件将保持删除状态。 (Git也跟踪删除,而不仅仅是更改。)
如果它列出了“已更改但未更新”部分下的文件,那么您有两个选项:
git checkout path/to/folder
git rm -r path/to/folder
这也将添加删除。
git add -u .
检查提交的内容:
git status
git add -u .
如果你输入git status并且结果是最新的,但是用红色表示
已删除:folder / example0.jpg 已删除:folder / example1.jpg 已删除:folder / example2.jpg
您需要输入此内容才能永久删除git add -u .
然后所有红色文本都将标记为绿色。
****别忘了字母u和句号之间的空格
您需要记录它们确实要删除。与记录文件更改的方式相同。
而不是git add
,你将使用git rm
。
你需要告诉git它被删除了
git rm folder
或者如果您不想将它们保存在repo中,可以将它们添加到.gitignore
假设您要删除文件并且不希望它被提交:
使用命令:
git reset HEAD文件名
然后执行git状态以验证要删除的文件是否未显示
然后做一个git提交
我发现自己在删除某些本地文件之后有一个意外的'已删除'文件夹。
我首先创建一个临时分支并提交不想要的'已删除'文件夹,然后删除该临时分支。
当我从pull
拿走upstream/master
时,我也有红色的删除文件。我尝试了不同的东西但没有任何效果
最终,我不得不为我的分支分支恢复所有更改(已提交,暂存,未分阶段),并且必须将我的repo与上游主分支重新同步。
git reset --hard upstream/master
git pull upstream master