git: 我未提交的更改在我切换分支时携带并合并
git: My uncommitted changes are carried and merged when I switch branches
我在我的 master 分支中做了一些更改,但没有提交它们,我检出了开发分支。我原以为会抛出一个错误,但我在 master 分支中的更改并没有被抛出,而是与开发分支合并了。
$ git checkout development
Switched to branch 'development'
M pom.xml
Your branch is up-to-date with 'origin/development'.
而不是这个我期待下面的错误,这样我就可以在签出之前隐藏或提交我的更改:
error: You have local changes ....; cannot switch branches.
有人知道为什么会这样吗?我怎样才能防止它再次发生?
据我所知,这是 Git 现在的默认行为。切换分支时,您会随身携带工作目录。我似乎还记得以前的版本不是这种情况。
您可能无法避免这种情况的发生,但您始终可以在切换分支之前确保您的工作目录(和阶段)是干净的。或者,您可以对您的工作进行提交或隐藏。
我在我的 master 分支中做了一些更改,但没有提交它们,我检出了开发分支。我原以为会抛出一个错误,但我在 master 分支中的更改并没有被抛出,而是与开发分支合并了。
$ git checkout development
Switched to branch 'development'
M pom.xml
Your branch is up-to-date with 'origin/development'.
而不是这个我期待下面的错误,这样我就可以在签出之前隐藏或提交我的更改:
error: You have local changes ....; cannot switch branches.
有人知道为什么会这样吗?我怎样才能防止它再次发生?
据我所知,这是 Git 现在的默认行为。切换分支时,您会随身携带工作目录。我似乎还记得以前的版本不是这种情况。
您可能无法避免这种情况的发生,但您始终可以在切换分支之前确保您的工作目录(和阶段)是干净的。或者,您可以对您的工作进行提交或隐藏。