使用 Git/GitHub 删除文件

首先,我是 Git 的新手。

我用 Finder 在 Mac 本地删除了一些文件。我希望删除的文件不再显示在当前分支中,但它们确实显示了。

任何 Git 用户都知道更新索引的命令吗?

93184 次浏览

你可以看到被删除的文件,它们仍然被“跟踪”:

git ls-files --deleted

To delete files from a branch, you can do something like this:

git ls-files --deleted -z | xargs -0 git rm

来自 man git-rm:

从索引或工作树和索引中删除文件。Git-rm 不会只从工作目录中删除文件。(没有删除文件的选项 13,并将其保留在索引中; 如果希望这样做,可以使用/bin/rm。)

最后,要提交“删除”,可以这样做:

git commit -m "removed some files"

我认为这是一个更简单的方法来做你想做的事情:

git add . -A

然后你就会这么做:

git commit -m "removed some files"

As noted above.

我不知道这是否已经添加到 git,因为以前的答案,但我只是使用

git add -u
git commit -m "Removed some files"

来达到同样的目的。

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch deletefile.name' --prune-empty --tag-name-filter cat -- --all
git commit -m "Removed deletefile.name"
git push origin master --force

将 delete tefile.name 替换为要删除的文件