使用Git / GitHub删除文件

Deleting Files using Git/GitHub

首先,我是刚加入Git的。

我使用finder在Mac上本地删除了一堆文件。我希望删除的文件不再显示在当前分支中,但它们会显示。

有Git用户知道更新索引的命令吗?


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

1
git add . -A

那么你只需要:

1
git commit -m"removed some files"

如上所述。


您可以看到删除的文件,这些文件仍"跟踪"使用:

1
git ls-files --deleted

要从分支中删除文件,可以执行以下操作:

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

来自man git-rm

Remove files from the index, or from the working tree and the index. git-rm will not remove a file from just your working directory. (There is no option to remove a file
13 only from the work tree and yet keep it in the index; use /bin/rm if you want to do that.)

最后,要提交"删除",请执行以下操作:

1
git commit -m"removed some files"


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

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

实现同样的目标。


1
2
3
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

将deletefile.name替换为要删除的文件。要获得深入的详细解释,请阅读nice文章https://help.github.com/articles/remove-sensitive-data