如何在没有提交和存储的情况下切换到其他分支?

时间:2015-02-03 10:34:17

标签: git

我有2个分支,分别是branch_1和branch_2。如果我的工作区很干净,我可以使用git checkout branch_1/branch_2

从一个到另一个结账

但有时候工作区不干净所以我必须在切换到另一个分支之前提交或存储它们。所以这是我的问题:

有没有办法可以在没有commitstash的情况下切换到另一个分支?我的意思是,即使工作区不干净,我也可以切换分支,这样当我再次切换到这个分支时,工作区与我上次离开时​​的工作区相同。

1 个答案:

答案 0 :(得分:1)

不,你不能。 Git实现了将工作目录内容更新为您在git checkout命令的目标参数中指定的内容的合同(例如,分支名称,SHA或提交)。

如果您的工作目录包含与目标不兼容的更改,并且它不会覆盖/丢失工作目录中的内容,则Git不会检查其他分支。因此,表明您应该git stashgit commit

的消息

您可以git checkout -f <SHA>,但这会删除对工作副本的所有更改。