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