Я помогаю поддерживать проект с открытым исходным кодом, в котором мы часто сталкиваемся с проблемами с нашими подмодулями, ломающими наши исторические сборки, потому что они заставляют толкаться в их восприимчивых репозиториях git.Я понимаю, что может существовать веская причина, по которой вам может потребоваться принудительное продвижение в общедоступный репозиторий (например, нормативные или юридические причины для удаления кода из вашей кодовой базы и истории).Что мне интересно, так это то, что мы можем сделать, используя субмодули git, чтобы снизить риск того, что на нас будут влиять будущие форс-маши?
Я предложил отслеживать субмодули по веткам,особенно там, где эти подмодули используют лучшие практики ветвления релизов, но, похоже, это может не помочь.Даже при отслеживании ветки git-хэши все еще фиксируются в нашем репо, и код может быть удален из удаленного репо нашего подмодуля, если они переписывают свою историю коммитов.Правильно ли я полагаю, что это означает, что отслеживание филиала не даст нам никакой дополнительной защиты от будущих силовых толчков?Есть ли какие-либо другие методы, которые люди могут использовать, чтобы избежать этой проблемы?
Ссылки, обновление подмодуля, не использующее ветвление: https://github.com/apache/incubator-mxnet/pull/13322 обновление подмодуля, отслеживающее ветку (обратите внимание, что оба имеют текущий зафиксированный хэш): https://github.com/apache/incubator-mxnet/pull/13378