首页 > 解决方案 > 如何在 Windows 上删除 Git 中的更改?

问题描述

每次我尝试将文件夹或文件添加到本地存储库时,都会出现错误。

 Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   some/path/.gitkeep
        modified:   "\320\262\321\213"

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
        modified:   "\320\262\321\213" (modified content)

如何删除它“\320\262\321\213”。

标签: git

解决方案


你正在发生三种不同的事情。这些都不是错误。

首先,您有一个子模块

其次,这个子模块的名字是вы(西里尔字符,UTF-8 编码)。您还没有告诉 Git 可以将西里尔字符发送到您的终端或 iTerm 或 CMD.EXE 或其他任何窗口,因此 Git 小心地将这些可能会破坏窗口的字符转换"\320\262\321\213"为显示目的。告诉 Git 可以将这些字符直接发送到您的终端——它们不会破坏你的窗口软件——设置core.quotePathfalse

git config core.quotePath false

(这仅针对此存储库设置它)或:

git config --global core.quotePath false

(这会在您的每用户配置中设置它,因此无论您在哪个存储库中工作,默认都可以将这些发送到您的窗口,除非存储库本身覆盖此设置)。

最后,你们都更新了子模块——这样你的下一个提交会说使用不同的提交——<em>并且你子模块中有没有提交的内容,所以任何实际克隆子模块并尝试的人要获得您现在拥有的内容,不可能获得该内容,因为它从未被提交,更不用说推送到您的子模块的上游。

如果您不想在这里有子模块,则需要撤消子模块。如果您确实想在此处使用子模块,请参阅有关使用子模块的文档。


推荐阅读