Git在切换分支之前没有要求提交

时间:2012-07-13 18:49:04

标签: git

如果我运行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阻止我结账其他分支机构,促使我隐藏或提交我在当前分支上所做的更改。现在,它不再这样做了。

3 个答案:

答案 0 :(得分:4)

如果两个分支上的已更改文件相同,则Git会使用脏工作目录切换分支。如果没有,它会阻止你。您可以使用-m标记覆盖此行为。

答案 1 :(得分:1)

当这些更改与另一个分支中的文件冲突时,它只会阻止您使用未提交的更改来切换分支。如果Git可以干净利落地切换,它会在没有提示你的情况下这样做。

答案 2 :(得分:1)

它应该阻止分支检出(提示存储或提交) 如果 对您尝试检查的分支上的那些相同文件进行了另一次更改出。但是如果分支与这些文件之间没有差异,那么它应该总是允许结账。

我同意pmr,你现在看到了“正常”行为,并且之前已经看到了“冲突”行为。