如果我运行git status:
# On branch new-media
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .gitignore
# modified: app/views/layouts/application.html.erb
然后我结帐主人:git checkout master
M .gitignore
M app/views/layouts/application.html.erb
Switched to branch 'master'
以前,git阻止我结账其他分支机构,促使我隐藏或提交我在当前分支上所做的更改。现在,它不再这样做了。
答案 0 :(得分:4)
如果两个分支上的已更改文件相同,则Git会使用脏工作目录切换分支。如果没有,它会阻止你。您可以使用-m
标记覆盖此行为。
见
答案 1 :(得分:1)
当这些更改与另一个分支中的文件冲突时,它只会阻止您使用未提交的更改来切换分支。如果Git可以干净利落地切换,它会在没有提示你的情况下这样做。
答案 2 :(得分:1)
它应该阻止分支检出(提示存储或提交) 如果 对您尝试检查的分支上的那些相同文件进行了另一次更改出。但是如果分支与这些文件之间没有差异,那么它应该总是允许结账。
我同意pmr,你现在看到了“正常”行为,并且之前已经看到了“冲突”行为。