在拉动之前承诺一切,为什么?

时间:2012-12-07 16:43:24

标签: git git-pull git-commit

在分支机构工作时,我会有一些我正在改变的文件。我的一位同事告诉我,他推动了一项改变,我应该立即解决这个问题。如果我不做出改变,git就不会让我拉。即使我修改过的所有文件都没有更新。

我想知道为什么会这样,如果可能的话,有办法避免这种情况吗?

1 个答案:

答案 0 :(得分:5)

git pull本质上是一个fetch,然后是一个合并。合并通常要求工作目录处于干净状态;为了您的安全,他们这样做:

  

警告:不鼓励使用未提交的更改运行git merge:尽管可能,但是在发生冲突的情况下,它会使您处于难以退出的状态。 (source

  

如果任何远程更改与本地未提交的更改重叠,则合并将自动取消,工作树不会受到影响。通常最好在拉动之前获取工作顺序的任何局部更改,或者使用git-stash将其存储起来。 (source

我认为纯git merge中的格式实际上比git pull更宽容,因此您可能需要先尝试抓取然后再手动合并。但最好先把东西藏起来。

相关问题