1

另一个问题中,有人这样做了:

$ git checkout staging
M   app/views/comments/index.html.erb
M   app/views/devise/registrations/new.html.erb
M   app/views/devise/sessions/new.html.erb
M   app/views/layouts/application.html.erb
M   app/views/songs/contact.html.erb
M   app/views/songs/faq.html.erb
M   app/views/songs/index.html.erb
M   app/views/songs/new.html.erb
M   app/views/songs/new_songs.html.erb
Switched to branch 'staging'

这怎么可能?如果发生未提交的更改,git 通常会拒绝更改分支。

我玩了一点,但真的没有设法进入这种情况。- 产生类似上述输出的情况的步骤是什么?

4

1 回答 1

6

这并不是说 Git 拒绝允许分支更改未提交的更改。它不允许更改将覆盖更改的分支。

在您的情况下,我假设列出的文件在分支之间具有相同的提交状态。

如果您想看到这种输出与当前分支重复,请对某些文件进行一些更改,然后切换到另一个分支。

git branch newBranch
<edit some files>
git checkout newBranch

结帐现在正好显示这种输出。

于 2013-08-18T07:45:00.033 回答