在Git中从远程分支中删除文件

10
我不小心将一些文件推送到了我的远程Git分支。从远程分支中删除这些特定文件的最佳方法是什么?
2个回答

22

如果你不想将那些文件推送到远程服务器,而是想在本地保留副本,最好的方法是使用带有--cached标志的git rm命令。

基本上,执行以下操作:

git rm --cached some/filename.ext
git rm --cached -r some/directory/

然后使用提交和推送您的更改

git commit -m "removing redundant files"

git rm的手册中写道:

--cached

使用此选项仅从索引中取消暂存并删除路径。 工作树文件(无论是否修改)将保持不变。


10
从远程拉取更改,在本地仓库上运行git rm,提交更改,再次推送到远程。文件将被删除。
您可以在 Stack Overflow 上检查此前的问题: 如何删除远程存储库中的文件?

你能提供更多细节吗?为什么需要从远程拉取,我是唯一使用这个分支的人。 - Shaolin
我假设远程仓库中的更改不在您本地检出的副本中。如果已经存在,则可以使用git rm <文件名>命令删除文件,然后推送更改。 - Diptendu
但我需要将这个文件保留在本地,因为我已经将配置文件推送到远程分支。 - Shaolin
在这种情况下,您可以检出到一个新位置(目录)。删除文件并提交。之后在原始目录上执行“git pull”。已删除的文件将保留为未提交更改。 - Diptendu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接