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


当前回答

约翰·肖平编辑的格雷格·休吉尔(Greg Hewgill)的回答对我很有帮助,因为我并不在乎将文件从历史中完全删除。在我的情况下,它是一个目录,所以我做的唯一更改是使用:

git rm -r --cached myDirectoryName

而不是“git rm--cached file1.txt”..后接:

git commit -m "deleted myDirectoryName from git"
git push origin branch_name

谢谢Greg Hewgill和Johannchopin!

其他回答

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

git rm -r foldername

转到项目目录并键入:

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

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

git push origin --force --all

约翰·肖平编辑的格雷格·休吉尔(Greg Hewgill)的回答对我很有帮助,因为我并不在乎将文件从历史中完全删除。在我的情况下,它是一个目录,所以我做的唯一更改是使用:

git rm -r --cached myDirectoryName

而不是“git rm--cached file1.txt”..后接:

git commit -m "deleted myDirectoryName from git"
git push origin branch_name

谢谢Greg Hewgill和Johannchopin!

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

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”

删除特定文件

git-rm文件名

在一次快照中递归清理目录中所有未跟踪的文件

git-clean-fdx