git 允许未提交的更改在新创建的功能分支中可见

git allowing uncommitted changes to be visible in newly created feature branch

我在 master 分支上创建了一个文件 sample1 并用一行 "changes made to file in master" 编辑了它。它仍然是未跟踪的文件,因为我还没有添加到 git。

然后我使用

创建了一个分支

git checkout -b feature_branch

我观察到的第一件事是文件 sample1 在新 feature_branch 中可见。我觉得这个还行。

然后我在 feature_branch 中对这个文件进行了更改。

然后我使用

回到 master 分支

git checkout master

我打开文件,令我惊讶的是,我看到了在 master 的功能分支中所做的更改,而我没有提交更改或合并文件。

然后我又修改了 master 并切换到 feature_branch 仍然发现了变化。

任何人都可以解释这是否是有意为之的行为?

It was still untracked file as I did not add to git yet.

只要文件未被追踪(不在索引中),你可以切换分支(使用现在的new git switch command rather than the old git checkout),未被追踪的文件将保留在那里,不被触及。

对该文件所做的任何修改都不会依赖于您当前的分支。
有关更多信息,请参阅“git checkout without deleting untracked files”。