我正在观看this video,正好在时间24:50它说:
你不能在git中切换分支,除非你的工作目录是干净的
我在测试库中测试了这个,修改了文件和切换分支,我可以做到!这家伙在GitHub工作,所以我怀疑他不知道他在说什么。 Git最近是否改变了行为?
这是我的日志:http://pastebin.com/dFTwHrET
答案 0 :(得分:4)
这更具防御性。
如果您有未提交的更改,这些更改将被切换分支覆盖,Git将不允许您这样做。如果更改不受切换分支的影响,那么没有什么能阻止你。
假设您有一个带有单个文件的简单git存储库。
签出新分支并更改此文件的内容。如果不提交更改,请尝试切换回原始分支。你可以这样做,因为头部提交是相同的。
签出新分支并更改此文件的内容。承诺这一改变。进行另一项更改,但不提交更改,请尝试切换回原始分支。你不可能做到这一点。
由于您无法切换分支,因此请放弃更改(git reset --hard head
),然后添加其他文件。如果没有提交此添加内容,请尝试切换分支,您将能够执行此操作。
答案 1 :(得分:0)
同意@ Abizem的回答。
如果您想要结帐到新分支而不提交分支上的当前更改。然后,您可以使用存储,使用任何标识符存储当前分支上的更改,然后签出到新分支。 Git Tools Stashing