在分支中工作时,我会更改一些文件。我的一位同事告诉我,他推动了一项改变,我应该采取行动来解决眼前的问题。如果我不提交我的更改,git 不会让我拉。即使我修改过的所有文件都没有更新。
我想知道为什么会这样,如果可能的话,有没有办法避免这种情况?
在分支中工作时,我会更改一些文件。我的一位同事告诉我,他推动了一项改变,我应该采取行动来解决眼前的问题。如果我不提交我的更改,git 不会让我拉。即使我修改过的所有文件都没有更新。
我想知道为什么会这样,如果可能的话,有没有办法避免这种情况?
git pull
本质上是一个提取,然后是一个合并。合并通常要求工作目录处于干净状态;他们这样做是为了您的安全:
警告:不鼓励使用未提交的更改运行 git merge:虽然可能,但它会使您处于在发生冲突时难以退出的状态。(来源)
和:
如果任何远程更改与本地未提交的更改重叠,则合并将自动取消并且工作树保持不变。通常最好在使用 git-stash 拉取或存储它们之前获得工作顺序的任何本地更改。(来源)
我相信 a pure 中的检查git merge
实际上比 a 中的更宽容git pull
,因此您可能想尝试先获取然后手动合并。但最好先把东西藏起来。