3

如果我运行 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 阻止我检查其他分支,提示我存储或提交我对当前分支所做的更改。现在,它不再这样做了。

4

3 回答 3

5

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

于 2012-07-13T19:01:40.647 回答
1

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

于 2012-07-13T18:59:42.503 回答
1

如果您尝试签出的分支上的相同文件有其他更改,它应该阻止分支签出(提示存储或提交) 。但是,如果这些文件的分支之间没有差异,那么它应该始终允许检出。

我同意 pmr,您现在看到的是“正常”行为,之前已经看到了“冲突”行为。

于 2012-07-13T19:02:48.887 回答