如何从存储库中删除“file1.txt”?


当前回答

如果要从存储库中删除文件,但将其保留在文件系统中(将被取消跟踪):

bykov@gitserver:~/temp> git rm --cached file1.txt
bykov@gitserver:~/temp> git commit -m "remove file1.txt from the repo"

如果要从repo和文件系统中删除文件,则有两个选项:

如果文件在索引中没有暂存更改:bykov@gitserver:~/temp>git rm file1.textbykov@gitserver:~/temp>gitcommit-m“删除file1.txt”如果文件在索引中进行了更改:bykov@gitserver:~/temp>git rm-f file1.textbykov@gitserver:~/temp>gitcommit-m“删除file1.txt”

其他回答

我尝试了许多建议的选项,但似乎都不起作用(我不会列出各种问题)。我最终所做的(对我来说)简单而直观的工作是:

将整个本地回购转移到其他地方再次将回购从主机克隆到本地驱动器将文件/文件夹从#1中的原始副本复制回#2中的新克隆确保问题大文件不存在或排除在.gitignore文件中执行通常的gitadd/gitcommit/gitpush

此外,如果是要删除的文件夹及其后续子文件夹或文件,请使用:

git rm -r foldername

转到项目目录并键入:

git filter-branch --tree-filter 'rm -f <deleted-file>' HEAD

在推送之后,强制从所有提交中删除文件。

git push origin --force --all

使用git rm从repo中删除文件后,可以使用BFG repo Cleaner从repo历史中完全轻松地删除文件。

使用git rm。

如果要从Git存储库和文件系统中删除文件,请使用:

git rm file1.txt
git commit -m "remove file1.txt"

但如果您只想从Git存储库中删除文件,而不想从文件系统中删除,请使用:

git rm --cached file1.txt
git commit -m "remove file1.txt"

并将更改推送到远程回购

git push origin branch_name