git - git 允许未提交的更改在新创建的功能分支中可见
问题描述
我在 master 分支上创建了一个文件 sample1 并使用“对 master 中的文件所做的更改”行对其进行了编辑。它仍然是未跟踪的文件,因为我还没有添加到 git。
然后我使用创建了一个分支
git checkout -b feature_branch
我观察到的第一件事是文件 sample1 在新的 feature_branch 中可见。我认为这没关系。
然后我在 feature_branch 中对这个文件进行了更改。
然后我回到主分支使用
git结账大师
我打开了文件,令我惊讶的是,我在 master 的 feature 分支中看到了更改,而我没有提交更改或合并文件。
然后我再次对 master 进行了更改并切换到 feature_branch 并仍然找到了更改。
谁能解释这是否是预期的行为?
解决方案
它仍然是未跟踪的文件,因为我还没有添加到 git。
只要文件未被跟踪(不在索引中),您就可以切换分支(现在使用newgit switch
命令而不是 oldgit checkout
),未跟踪的文件将保留在那里,不受影响。
对该文件所做的任何修改都不会依赖于您当前的分支。
有关更多信息,请参阅“git checkout
不删除未跟踪的文件”。
推荐阅读
- angular - 在表单 Array Angular 8 中添加 2 个表单控件
- python - Discord bot python DM消息在踢之前
- sql-server - SSIS 导入 CSV 部分结构化部分非结构化
- node.js - 我在使用 tsc 构建时遇到此错误
- android - 即使会话处于活动状态,启动器活动也会立即显示
- r - 为什么 Adam 优化无法在线性回归中收敛?
- python - 如果 Python 切片复制引用,为什么我不能用它来修改原始列表?
- discord.js - 我无法访问存储在表 sqlite3 中的值,它给出了未定义的错误
- php - PHP update query value always string 'NULL' instead of NULL
- azure - Azure Web App Service 和 Azure Web App Service Plan 消失,但 Web App 仍然存在