这个问题与这个关于合并的问题非常相似,但有一个关键区别:没有合并冲突。
所以我在一个功能分支中工作,提交一些更改,然后运行git merge master
. 我的目标是在创建 PR 以将分支合并回 master 之前用最新的 master 更新我的特性分支(这是我们选择的工作流程,想法是首先解决特性分支上的问题)。我得到零合并冲突,合并似乎完成。当我运行git log
时,我的功能分支现在似乎有来自 master 的最新提交。但是,当我跑步时git status
一堆我没有接触过的文件(但它们似乎已在 master 中更新)突然进入我的“已提交更改”列表,其中一小部分显示为“未为提交暂存的更改”和“未跟踪的文件” . 这不是一对一的,在我的最新示例中,我暂存了 45 个文件,但只有 33 个未暂存+修改或未跟踪。我没有提交这些文件,因为看起来功能分支已经有来自 master 的最新提交。
git stash
到目前为止,我必须通过运行(并定期清除我的存储)来处理这个问题。有时我get reset HEAD
也会跑去清理它。这似乎没问题,因为我有来自 master 的最新提交。但是,我不确定这些是可取的行动还是正确的做法。通过忽略这些暂存文件,我是否错过了 git 合并工作流程的关键部分?这里发生了什么?这种行为的名称是什么?在我读过的任何指南中都找不到对此的参考。
最后一点可能会有所帮助。我在 Mac 上,但这是一个 .net + React 项目,所以很多开发人员都在 Windows 上。这可能是平台之间的 autocrlf 或其他行尾变化的问题吗?