【发布时间】:2010-11-21 05:40:00
【问题描述】:
我在一个 git 分支上工作并准备好提交我的更改,所以我提交了一个有用的提交消息。然后,我心不在焉地对不值得保留的代码进行了微小的更改。我现在想改变分支,但是git给了我,
错误:您对“X”进行了本地更改;无法切换分支。
我可以在不提交的情况下更改分支吗?如果是这样,我该如何设置?如果没有,我该如何摆脱这个问题?我想在不提交的情况下忽略微小的更改,而只是更改分支。
【问题讨论】:
-
我相信这只发生在他们的更改被提交但未提交时?如果您尚未使用 git add 等暂存文件,则 git checkout 可以很好地更改分支。
-
嗨杰里米,你所说的“上演”是什么意思?强制用户在更改分支之前提交文件似乎不是一个很好的工作流程。例如,如果我在主存储库中并且想快速检查分支中的某些内容。我必须先将代码提交给大师,即使代码写了一半!您是说确实,在这种情况下应该可以结帐一个分支?
-
@boyfarrell 您可以使用“Git stash”临时保存更改而不提交。
-
当你切换到一个分支而不在旧分支中提交更改时,git 会尝试将更改合并到新分支中的文件中。如果合并完成没有任何冲突,则切换分支将成功,您可以看到新分支中的更改。但是如果发生冲突,你会得到
error: You have local changes to '<filename>'; cannot switch branches.并且分支不会改变。您可以使用git checkout -m <branch-name>合并冲突并结帐到分支并自己解决冲突,或者使用git checkout -f <branch-name>忽略更改。
标签: git branch git-checkout