在GIT中切换分支,工作目录不干净

时间:2014-03-28 11:57:06

标签: git

我正在观看this video,正好在时间24:50它说:

  

你不能在git中切换分支,除非你的工作目录是干净的

我在测试库中测试了这个,修改了文件和切换分支,我可以做到!这家伙在GitHub工作,所以我怀疑他不知道他在说什么。 Git最近是否改变了行为?

更新

这是我的日志:http://pastebin.com/dFTwHrET

2 个答案:

答案 0 :(得分:4)

这更具防御性。

如果您有未提交的更改,这些更改将被切换分支覆盖,Git将不允许您这样做。如果更改不受切换分支的影响,那么没有什么能阻止你。

假设您有一个带有单个文件的简单git存储库。

签出新分支并更改此文件的内容。如果不提交更改,请尝试切换回原始分支。你可以这样做,因为头部提交是相同的。

签出新分支并更改此文件的内容。承诺这一改变。进行另一项更改,但不提交更改,请尝试切换回原始分支。你不可能做到这一点。

由于您无法切换分支,因此请放弃更改(git reset --hard head),然后添加其他文件。如果没有提交此添加内容,请尝试切换分支,您将能够执行此操作。

答案 1 :(得分:0)

同意@ Abizem的回答。

如果您想要结帐到新分支而不提交分支上的当前更改。然后,您可以使用存储,使用任何标识符存储当前分支上的更改,然后签出到新分支。 Git Tools Stashing