首页 > 解决方案 > 从 git 中删除名为“~”的文件并取消暂存

问题描述

我不确定这是怎么发生的(也许我输入了命令行vi ~ /extra/space.txt?)但现在有一个名为~staged for commit 的文件。我不想将它添加到 git 中,并且rm ~在考虑可能的副作用之前我犹豫是否尝试。

$ git status
On branch master
All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:
    modified:   apples.js
    modified:   app/berries.js
    modified:   app/views/pears.js
    new file:   app/views/lemons.js
    modified:   public/stylesheets/oranges.css
    new file:   ~

标签: gitmacosunix

解决方案


使用反斜杠转义它

rm \~

或者,您可以使用单引号来避免 shell 解释(而不是转义 shell 解释)

rm '~'

由于提交是暂存的,您还需要在合并之前清除它,add方法是再次 ing 删除的文件(因此它的缺失被合并到暂存的提交中)或reset-ing 删除的文件(这可能是因为您使用了git add -a

git add \~

虽然您的担心是实际的,但也不要担心,rm不会删除目录,只删除文件,而不提供一些标志 ( -d, -r, -R..)


推荐阅读