我删除了一些文件,git状态如下图所示。

我已经承诺并努力了。

GitHub仍然在存储库中显示已删除的文件。如何删除GitHub存储库中的文件?

# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    modules/welcome/language/english/kaimonokago_lang.php
#   deleted:    modules/welcome/language/french/kaimonokago_lang.php
#   deleted:    modules/welcome/language/german/kaimonokago_lang.php
#   deleted:    modules/welcome/language/norwegian/kaimonokago_lang.php

如果我使用git rm,它会给出以下结果。

usage: git rm [options] [--] <file>...

-n, --dry-run         dry run
-q, --quiet           do not list removed files
--cached              only remove from the index
-f, --force           override the up-to-date check
-r                    allow recursive removal
--ignore-unmatch      exit with a zero status even if nothing matched

当前回答

更新您所做的所有更改:

git add -u

删除的文件应该从未分级(通常是红色)变为分级(绿色)。 然后提交删除已删除的文件:

git commit -m "note"

其他回答

内置的清洁功能也很有帮助…

git clean -fd
git add -u 

更新所有更改

更新您所做的所有更改:

git add -u

删除的文件应该从未分级(通常是红色)变为分级(绿色)。 然后提交删除已删除的文件:

git commit -m "note"

如果你不关心暂存修改后的文件,最好的解决方案是使用mshameers和/或pb2q所说的git add -u。

如果你只是想删除已删除的文件,但不执行任何修改过的文件,我认为你应该使用ls-files参数和——deleted选项(不需要使用regex或其他复杂的参数/选项):

git ls-files --deleted | xargs git rm

你可以创建一个shell脚本,它会在运行时删除你所有的文件:

git status | grep deleted | awk '{print "git rm " $3;}' > ../remove.sh

创建的脚本是remove.sh,它包含git rm命令的完整列表。