如何解决如何删除 git bash 中的目录或文件以取消暂存
我正在使用“ git status ”检查我的回购状态。但它表明我习惯于提交更改, 这里的命令是:
~/udacity-git-course/new-git-project (master)
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: webpage.html
Untracked files:
(use "git add <file>..." to include in what will be committed)
course-git-blog-project/
npm-debug.log
然后我使用了命令
$ git rm --cached <webpage.html>...
但它显示
fatal: No pathspec was given.
解决方法
首先,让我在此说明:“要提交的更改”并没有错。这就是你之后采取的行动。
这一行:
(use "git rm --cached <file>..." to unstage)
使用尖括号 <
和 >
来表示单词 file
是一个占位符。输入命令时,尖括号本身也必须删除。此外,三个点是元文本,意思是“根据需要重复”。所以,而不是:
git rm --cached <webpage.html>...
你应该跑:
git rm --cached webpage.html
(注意缺少尖括号和缺少三个点)。
这里发生的事情是您的shell“吃掉”了webpage.html
和...
并进行了I/O 重定向。也就是说,你跑了:1
<webpage.html >... git rm --cached
这样git rm
的标准输入来自文件webpage.html
,它的标准输出进入(新)文件{{1} }.这会给您留下一个名为 ...
的额外文件,该文件现在将报告为未跟踪文件;您需要使用以下命令将其删除:
...
(注意没有尖括号和 rm ...
前缀等等)。
您应该学习有关如何使用 shell(似乎是 bash、sh 或类似的)的教程。
1I/O 重定向可以放置在命令的任何位置,尽管人们通常将它们放在右边缘。也就是说,我们倾向于看到:
git
而不是:
generate-output --long >outfile
或者看起来更奇怪:
>outfile generate-output --long
但所有三个都执行相同的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。