首先,我是Git的新手。
我使用Finder在Mac上本地删除了一堆文件。我希望我删除的文件不再显示在当前分支中,但它们确实如此。
任何Git用户都知道更新索引的命令吗?
答案 0 :(得分:226)
我认为这是一种更简单的方法来做你想做的事情:
git add . -A
然后你会这样做:
git commit -m "removed some files"
如上所述。
答案 1 :(得分:19)
您可以看到已删除的文件,这些文件仍在“跟踪”中:
git ls-files --deleted
要从分支中删除文件,您可以执行以下操作:
git ls-files --deleted -z | xargs -0 git rm
来自man git-rm
:
从索引或工作树和索引中删除文件。 git-rm不会仅从您的工作目录中删除文件。 (没有删除文件的选项 13只来自工作树,但仍保留在索引中;如果你想这样做,请使用/ bin / rm。)
最后,要提交“删除”,请执行以下操作:
git commit -m "removed some files"
答案 2 :(得分:17)
我不知道自从之前的答案以来是否已将其添加到git中,但我只是使用了
git add -u
git commit -m "Removed some files"
实现同样的目标。
答案 3 :(得分:2)
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替换为要删除的文件。有关详细解释,请阅读好文章https://help.github.com/articles/remove-sensitive-data