首先声明,我是Git新手。
我在Mac上使用Finder删除了一堆文件。我希望这些被我删除的文件不再出现在当前分支中,但它们仍然存在。
有没有Git用户知道如何更新索引的命令?
我认为这可能是实现你想要的更简单的方法:
git add . -A
那么你只需要执行:
git commit -m "removed some files"
如上所述。
bash
中编写了别名来执行上述操作。太棒了。 - Zackgit help add
可以告诉你-A
的含义,并列出所有其他开关。 - Marcin Orlowski你可以使用以下命令查看已删除但仍被“跟踪”的文件:
git ls-files --deleted
要从分支中删除文件,您可以执行以下操作:
git ls-files --deleted -z | xargs -0 git rm
来自man git-rm
:
从索引中删除文件,或者从工作树和索引中删除文件。git-rm不会仅从您的工作目录中移除文件。(没有选项可以仅从工作树中删除文件,但仍在索引中保留它;如果您想这样做,请使用/bin/rm。)
最后,要提交“删除”操作,请执行以下操作:
git commit -m "removed some files"
git commit -m“删除了一些文件”
- James Polley我不知道自从之前的回答以来,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
将deletefile.name替换为要删除的文件。如需深入详细解释,请阅读https://help.github.com/articles/remove-sensitive-data中的精彩文章。