首页 > 解决方案 > git 允许未提交的更改在新创建的功能分支中可见

问题描述

我在 master 分支上创建了一个文件 sample1 并使用“对 master 中的文件所做的更改”行对其进行了编辑。它仍然是未跟踪的文件,因为我还没有添加到 git。

然后我使用创建了一个分支

git checkout -b feature_branch

我观察到的第一件事是文件 sample1 在新的 feature_branch 中可见。我认为这没关系。

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

然后我回到主分支使用

git结账大师

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

然后我再次对 master 进行了更改并切换到 feature_branch 并仍然找到了更改。

谁能解释这是否是预期的行为?

标签: gitgit-merge

解决方案


它仍然是未跟踪的文件,因为我还没有添加到 git。

只要文件未被跟踪(不在索引中),您就可以切换分支(现在使用newgit switch命令而不是 oldgit checkout),未跟踪的文件将保留在那里,不受影响。

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


推荐阅读