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

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

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


当前回答

切换到一个新的分支丢失更改:

git checkout -b YOUR_NEW_BRANCH_NAME --force

切换到现有分支会丢失更改:

git checkout YOUR_BRANCH --force

其他回答

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

git reset --hard HEAD

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

遵循以下步骤:

Git stash save将保存所有的更改,即使您在分支之间切换。

Git保存

Git签出任何其他分支,现在因为你保存了你的更改,你可以移动任何分支。上面的命令将确保您的更改被保存。

Git结帐分支

现在,当您回到分支时,使用这个命令取回所有更改。

Git隐藏pop

Git checkout -f your_branch_name

git checkout -f your_branch_name

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

git checkout .

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

git clean -fd

切换到一个新的分支丢失更改:

git checkout -b YOUR_NEW_BRANCH_NAME --force

切换到现有分支会丢失更改:

git checkout YOUR_BRANCH --force

为了你精神上的平静 (为了更容易地访问你做分支切换时未提交的更改)

在切换之前:

git checkout <next_branch>

use

git stash save "brief description of changes"

而不是默认值:

git stash    
// or
git stash save

如果你的git隐藏列表是一个较长的列表,这是值得的 必须回到之前的某个想法。