我暂存了一堆文件,然后在提交到存储库之前删除了它们。当我这样做时,git status
我看到了:
# deleted: filename.fileext
我已经能够提交新的更改,但这些已删除的文件仍出现在状态检查中。有人可以解释为什么吗?我该如何摆脱它们?
git add -u
git commit -m "Deleted files manually"
如果您使用rm
命令删除文件,请运行git rm <file_path_to_be_removed>
以告诉 git 这些文件已被删除。
rm
命令仅删除物理文件。然后你需要通知 git。
kevin@kevin-dev:/tmp/git$ touch a.txt kevin@kevin-dev:/tmp/git$ git add a.txt kevin@kevin-dev:/tmp/git$ git commit -m"m" [master (root-commit) 03f6743] m 0 个文件更改,0 个插入 (+),0 个删除 (-) 创建模式 100644 a.txt kevin@kevin-dev:/tmp/git$ git 状态 # 在分支master上 没有什么可提交的(工作目录干净) kevin@kevin-dev:/tmp/git$ rm a.txt kevin@kevin-dev:/tmp/git$ git 状态 # 在分支master上 # 未为提交暂存的更改: # (使用 "git add/rm ..." 更新将要提交的内容) # (使用 "git checkout -- ..." 丢弃工作目录中的更改) # # 删除:a.txt # 没有添加到提交的更改(使用“git add”和/或“git commit -a”) kevin@kevin-dev:/tmp/git$ git rm a.txt rm'a.txt' kevin@kevin-dev:/tmp/git$ git 状态 # 在分支master上 # 要提交的更改: # (使用“git reset HEAD ...”取消暂存) # # 删除:a.txt # kevin@kevin-dev:/tmp/git$
牵引deleted
状态不同。第一个是Changes not staged for commit:,第二个是Changes to becommited:
所以,只需运行git commimt -m"Message"
,然后一切就干净了。