Добавление информации о слиянии в историю Git - PullRequest
0 голосов
/ 31 января 2020

В нашей компании мы использовали SVN. Разработчики имели обыкновение сохранять каждую ветку, чтобы сохранить историю коммитов, потому что она была бы потеряна, когда ветвь была удалена, даже когда она была объединена с транком.

Около года a go, к счастью, мы переключились до Git. Большая часть миграции прошла гладко, но на некоторых наших репозиториях информация о слиянии веток отсутствует. Однако не для всех отраслей. Я думаю, это произошло, когда слияние SVN было сделано не в каталоге root, а в подкаталоге, что очень грязно, ИМХО.

Нет, у нас есть пара старых веток, которые мы не можем удалить, потому что мы не можем удалить не хочу терять историю коммитов. Фактический код объединен, но Git не знает об этом. Есть ли способ добавить какую-либо информацию о слиянии в коммит в истории git?

Пример

Мой репозиторий SVN выглядел так:

Trunk   ---[1]---------[3]---------[5]
Branch1      \---[2]---/           /
Branch2       \--------------[4]--/

Но перенесенный репозиторий Git выглядит следующим образом:

Master  ---[1]---------[3]---------[5]
Branch1      \---[2]---/
Branch2       \--------------[4]---

Слияния в исходном репозитории SVN были сделаны в коммитах 3 и 5. По неизвестным мне причинам коммит 3 распознается как слияние Git, а commit 5 - нет. Я хочу знать, есть ли способ сообщить Git, что коммит 5 тоже был коммитом слияния.

1 Ответ

0 голосов
/ 31 января 2020

Да, надеюсь, вы сможете добиться этого с помощью Tagging

, однако после миграции вам необходимо убедиться, что дальнейшие коммиты не поступили из git.

из В последнем коммите вы можете следовать командам, таким как

git tag -a SVN -m "Migration commit"
git push origin --tags

, и вы можете проверить с помощью следующей команды:

git tag

, вы также можете оформить этот коммит в любое время, пока присутствует тег.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...