从远程Git存储库中删除物理删除文件的引用

Ran*_*ana 9 git github git-push

我已经从我的Git存储库(来自许多不同的目录)中删除了很多文件.

我仍然可以看到他们的参考,如果我提交GitHub,旧文件仍然存在.

我需要从远程repo服务器(GitHub)以及本地PC中删除这些引用.

如何从存储库中删除这些引用?

Mar*_*air 17

您需要创建一个"提交"(git的新版本术语),删除这些文件,然后将其推送到GitHub.我想如果你输入git status,你会看到这样的东西:

# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    old-file.txt
#   deleted:    another-old-file.txt
#   deleted:    unneeded.c
Run Code Online (Sandbox Code Playgroud)

如果输出中没有列出其他更改git status,则可以安全地执行:

git add -u
git commit -m "Delete many old files"
Run Code Online (Sandbox Code Playgroud)

...然后推送到GitHub.(git add -u对于下一次提交的说法,对git跟踪的文件进行任何更改,这些文件将包含您在本地手动删除的文件.)

但是,如果该输出中列出了其他更改,则最好尝试更精确的内容,例如此处建议:

将来,最好先删除文件git rm:)