У меня есть git-репозиторий A
, который использует внешний подмодуль B
из github. URL сохранен для B
в. gitmodules
это origin/B
, который является моим форком из upstream/B
Я не управляю upstream/B
В какой-то момент я развивался внутри B
, подталкивал свои разработки к origin/B
и совершал эти изменения в A
В конце концов, после того, как я проверил обновления, я сделал запрос на загрузку в upstream/B
Спустя несколько дней мой запрос на извлечение был "объединен" людьми, которые управляют апстримом, используя кнопку сквоша на github. Теперь B
и origin/B
больше не были совместимы с upstream/B
, хотя содержимое файла было идентичным. Я хотел сделать дальнейшие разработки и, возможно, сделать еще один запрос на удаление позже, поэтому я сделал git reset --hard upstream/B
а затем git push -f origin
для синхронизации с веткой upstream. (Да, я знаю причины быть осторожными при выполнении reset --hard
и push -f
. Я был осторожен, чтобы не потерять какой-либо контент в B
)
Я не хочу делать какие - либо reset --hard
или rebase
в A
Параллельно произошли другие изменения, которые усложнили этот вид операций. Проблема в том, что моя история A
теперь содержит указатели на коммиты в origin/B
, которых больше нет в истории какой-либо ветви.
Будут ли эти коммиты собираться на github в какой-то момент? Нужно ли делать ветки или теги на этих коммитах, чтобы сохранить их? Или они будут сохранены, так как они были в запросе извлечения?