我正在一个git分支上工作,并准备提交我的更改,所以我用一个有用的提交消息做了一个提交。然后,我心不在焉地对代码做了一些不值得保留的小更改。我现在想改变分支,但是git给了我,

错误:您对“X”进行了本地更改;不能切换分支。

我可以在不提交的情况下更改分支吗?如果是,我该如何设置呢?如果不是,我该如何解决这个问题?我想在不提交的情况下忽略较小的更改,只更改分支。


当前回答

关闭终端,删除项目所在的文件夹,然后再次克隆您的项目和voilá。

其他回答

Git checkout -f your_branch_name

git checkout -f your_branch_name

如果您在恢复更改时遇到困难:

git checkout .

如果您想删除未跟踪的目录和文件:

git clean -fd

如果您希望保留更改并在单行命令中更改分支

git stash && git checkout <branch_name> && git stash pop

如果您想放弃更改,

git checkout -- <file>
git checkout branch

如果你想保留这些变化,

git stash save
git checkout branch
git stash pop

如果您对文件进行了更改,而Git在切换分支时也需要更改这些更改,它就不会允许您更改。要放弃工作中的更改,请使用:

git reset --hard HEAD

然后,您将能够切换分支。

注意,如果你合并了远程分支或者有本地提交,想要回到远程HEAD,你必须做:

git reset --hard origin/HEAD

HEAD单独只会引用本地提交/合并——有几次我忘记了在重置时,当我完全打算破坏所有更改/提交并返回远程分支时,我以“您的存储库是X提交前..”结束。