首先,我是 Git 的新手。
我用 Finder 在 Mac 本地删除了一些文件。我希望删除的文件不再显示在当前分支中,但它们确实显示了。
任何 Git 用户都知道更新索引的命令吗?
你可以看到被删除的文件,它们仍然被“跟踪”:
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:
man git-rm
从索引或工作树和索引中删除文件。Git-rm 不会只从工作目录中删除文件。(没有删除文件的选项 13,并将其保留在索引中; 如果希望这样做,可以使用/bin/rm。)
最后,要提交“删除”,可以这样做:
git commit -m "removed some files"
我认为这是一个更简单的方法来做你想做的事情:
git add . -A
然后你就会这么做:
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 替换为要删除的文件