在主分支中检测到更改以在子分支中完成工作

Changes were detected in the master branch to work done in the sub-branch

我正在使用主分支,我创建了一个新的示例分支并签出。

在example分支工作后,我在commit之前checkout到master分支,我在example分支上工作的内容在master分支中显示为更改。

据我所知,它不会影响不同的早午餐。

可能出了什么问题?

如果我正确理解你的描述,就没有问题。你做了一些没有在任何地方提交的更改,git 告诉你那些未提交的更改是什么。

我怀疑您对 git 的工作原理有一些误解,所以让我们逐步了解您的描述,re-wording 以更“git 的视角”了解您所做的事情:

I am using the master branch

您将当前签出的分支设置为“master”,并签出了该分支指向的当前提交

... and I created a new example branch

您创建了一个名为“example”的新分支指针,指向当前提交

... and checked out

您将当前签出的分支设置为“example”(当前指向与“master”相同的提交)

After working in the example branch ... before committing

您在工作副本中做了一些更改,但没有提交它们。这些更改不属于任何分支,它们只是等待提交。

如果您在此阶段提交它们,“示例”分支将指向您的新提交。因为你没有提交它们,所以任何分支都没有发生任何事情。

I checked out to the master branch

您将当前签出的分支设置为“master”。由于您还没有向任何一个分支添加任何提交,这仍然指向与“示例”相同的提交,因此不需要签出任何更改。

the contents I am working on in the example branch are displayed as changed

您对工作副本所做的更改仍未提交。 Git 除非您明确要求,否则不会清除它们,因为那将意味着丢失您未提交的工作。

... in the master branch

您当前签出的分支是“master”,这意味着如果您现在提交一些更改,该分支将指向新的提交。如果您提交,则两个分支上仍然没有任何更改。