这个基本问题和Remove local Git changes最重要的问题。但是,我确实尝试了很多选项,但无法获得一个清晰的平板。我正准备创建一个新分支,但我收到错误:
> error: Your local changes to the following files would be overwritten
> by checkout:
> js/us-states.xml
> Please, commit your changes or stash them before you can switch branches. Aborting
由于我没有修改此文件(它已自动修改),我需要放弃更改。似乎由于LF-CRLF转换而显示已修改。我在Windows机器上。
我试过了:
但无论我运行什么命令,只要我运行git status它就会显示这个输出:
D:\ GitHub \ Project> git status On branch master你的分支是 最新的&origin / master'。
未提交的更改提交:(使用" git add ..."进行更新 什么将被承诺)(使用" git checkout - ..."丢弃 工作目录的变化)
modified: js/us-states.xml
没有更改添加到提交(使用" git add"和/或" git commit -a")
我现在经常会遇到这样的问题。我解决它的一种或另一种方式,但想知道发生了什么,并且是否存在针对此问题的永久解决方案。
为什么它不允许我放弃此文件的更改?
更新1:
作为一种解决方法,当我运行git status时,我提交了更改(未推送)以获得所需的清晰。我能够切换到另一个分支。后来我跑了
git reset --hard origin / master
这实际上删除了临时本地提交。