如何在合并时防止分离的HEAD?

Tho*_*sen 5 git git-submodules

如果操作将导致分离的HEAD,有没有办法配置Git拒绝合并?

我知道如何解决分离的HEAD,但我宁愿让git拒绝合并动作以完全避免分离的HEAD.

发生这种情况时会出现问题:

  1. 我正在develop主仓库中的一个分支上工作,我还在子模块库中进行了一些更改.该develop分支更新以匹配最新提交的子模块.
  2. 一位同事要合并developmaster,但忘记拉子模块master第一.这导致分离的HEAD.

now*_*wox 0

Asubmodule始终处于分离头状态,因为 Git 不保留有关它必须位于哪个分支的任何信息。

Git 会跟踪submodule它所连接的提交,因为它与提交信息一起存储。当您合并连接到不同submodule提交的两个不同分支时,Git 无法检出branch子模块上的 a,这就是您拥有分离的 HEAD 的原因。

没有解决方案可以让您的子模块附加到分支。

您的问题的一个可能的解决方案是:

https://github.com/kollerma/git-submodule-tools