从git存储库中删除文件

从git存储库中删除文件,git,Git,从git存储库中删除文件时遇到问题。为了演示:在空目录中执行: git init echo "A" > A.txt echo "B" > B.txt git add . git commit -a -m "1. version" echo "C" > C.txt git add . git commit -a -m "2. version" echo "A" >> A.txt git add . git commit -a -m "3. version" 现在,我

从git存储库中删除文件时遇到问题。为了演示:在空目录中执行:

git init
echo "A" > A.txt
echo "B" > B.txt
git add .
git commit -a -m "1. version"
echo "C" > C.txt
git add .
git commit -a -m "2. version"
echo "A" >> A.txt
git add .
git commit -a -m "3. version"
现在,我想将文件“A.txt”从存储库中完全删除(好像它从未存在过一样):

其输出:

3ce037a722c2f382a9da42f73577628a639cae25 3. version
43a12da356ad3643657e6bb06259c84f78b82bed 1. version
Cannot rewrite branches: You have unstaged changes.
然后
git status
给出:

# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    A.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
分支主机上的
#
#未为提交而暂存的更改:
#(使用“git add/rm…”更新将提交的内容)
#(使用“git签出--…”放弃工作目录中的更改)
#
#已删除:A.txt
#
未向提交添加任何更改(使用“git add”和/或“git commit-a”)

我做错了什么?如何将文件
A.txt
完全删除?

问题在于您正在执行的
rm A.txt
。这是未老化的更改git报告。只需将此行移到git筛选器分支之后

谢谢!似乎我根本不需要
rm A.txt
。。它似乎已被git筛选器分支删除。
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    A.txt
#
no changes added to commit (use "git add" and/or "git commit -a")