为什么git不允许在具有未提交更改的文件中进行拉动更改?

时间:2015-11-20 19:11:38

标签: git pull

我已多次阅读"默认情况下,git pull将拒绝执行更新,该更新触及任何具有未提交修改的文件"。我的问题是

  • 工作目录中填充了当地工作分支的内容,对吗?

  • Git不允许使用未提交的本地修改来提取文件中的更改,因为原因1或2:

    1. 这会有风险,您可能会失去未提交的更改
    2. 当您获取并在您正在使用的本地分支中完成合并时,本地分支和工作目录之间不会发生合并,因此本地分支中的更新文件将覆盖该文件中的文件。工作目录

由于

1 个答案:

答案 0 :(得分:1)

原因1是正确的。 Git在尝试之前无法知道它是否可以成功合并您所引入的更改以及未提交的更改。在正常的合并冲突情况下,这不是问题,因为所有版本都安全地存储在本地存储库中,因此如果出现问题,则很容易修复或恢复整个操作。

但是当存在未提交的更改时,Git没有在某处保存这些更改。因此,当您进行其他一些更改时,Git只会正确合并那些没有本地更改的文件。