git - 从 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: ~
解决方案
使用反斜杠转义它
rm \~
或者,您可以使用单引号来避免 shell 解释(而不是转义 shell 解释)
rm '~'
由于提交是暂存的,您还需要在合并之前清除它,add
方法是再次 ing 删除的文件(因此它的缺失被合并到暂存的提交中)或reset
-ing 删除的文件(这可能是因为您使用了git add -a
)
git add \~
虽然您的担心是实际的,但也不要担心,rm
不会删除目录,只删除文件,而不提供一些标志 ( -d
, -r
, -R
..)
推荐阅读
- sql - 将 2 个查询合二为一(根据其他选择进行选择)
- jhipster - 如何在 JHipster 5 中显示图标?
- react-native - 如何将 react-native 从 0.56.0 降级到 0.55.4 版本?
- spring - Spring Boot 应用程序中的背压
- c# - asp.net | 如何将数据添加到数据库的下一个 ID?
- network-programming - 不必要的网络命令
- sql-server - 全文索引不适用于单个单词?
- python - 我想将“文件名”作为参数传递给其他函数调用,但总是返回“无”作为值
- rest - 如何在 Visual Basic 6 (vb6) 中使用 TLS 1.2 - REST
- python - 工作线程阻塞 GUI 中的 QTimer