git reset --HARD在公开共享的分支上的后果?

问题描述 投票:1回答:1

我正在阅读git教程here,他们提到:

不要在其他开发人员公开可见的分支上使用git reset摆脱,因为它将迫使其他开发人员进行不必要的合并清理历史

我不明白问题是什么。如果我有一个公共分支,说4次提交,则A-> B-> C-> D。 D是最新提交。如果我将其硬重置为B。那么,对于已经获取了该分支的其他开发人员,当他们再次执行git fetch时,他们会看到它们是远程的2个提交,因此他们重置为B并是对的好吗?还是我错过了什么?

git version-control
1个回答
0
投票

除了(假设)鲍勃在D上两次在他的本地提交了>

A---B---C---D <<< shared-master
             \
              E---F <<< feature-bob

但是现在他不能再推了,因为在获取之后,他看到了这个:

  A---B <<< origin/shared-master
       \
        C---D <<< shared-master
             \
              E---F <<< feature-bob

因此,他可能必须解决棘手的冲突,才能在B之上重新建立分支,而无需1)破坏自己的功能,或2)将CD中不需要的部分带回到新的共享分支部分]。当然,这最终取决于眼前的情况,在某些情况下它很容易解决,但是从原理上讲,这就是要避免的原因。在有很多同事和/或大量更改的情况下,团队中通常是很大的禁忌。

© www.soinside.com 2019 - 2024. All rights reserved.