2

假设我们有以下场景: - 我创建了一个新分支并检查了它(git checkout -b)。- 在新分支上我更改了一个文件 - 如果我想切换回 master,git 会抛出以下警告:“错误:您对以下文件的本地更改将被结帐覆盖......”

我认为这就是 git 的行为方式。我有其他同事在同一个项目上工作,但是当他们与上述相同时,警告不会出现,git 只是切换分支。它甚至似乎自动合并文件并且 git status 在两个分支上显示相同。为什么我收到警告而他们没有?这是设定的事情吗?

提前致谢。

4

2 回答 2

1

如果(您当前的提交)中的文件状态与您尝试签出的分支中的状态不同,您应该只收到该错误HEAD,因为那时 git 不能轻易确定它可以携带您的本地更改到新的分支。


不过,您的第一个示例有点令人困惑:

我创建了一个新分支并检查了它(git checkout -b)。- 在新分支上我更改了一个文件 - 如果我想切换回 master,git 会抛出以下警告:“错误:您对以下文件的本地更改将被结帐覆盖......”

master我假设由于您收到该警告,您要么基于master.

于 2013-07-04T08:04:57.897 回答
1

如果您创建一个分支并在该分支上编辑一个文件,并且在没有提交它的情况下,在 master 上发生任何其他更改之前签出 master 分支,您将不会收到该警告。

只有当两个分支之间的任何文件不同时,git才会发出错误。

于 2013-07-04T08:07:38.910 回答