Что происходит с тегами сжатых коммитов? - PullRequest
0 голосов
/ 21 января 2019

Если у меня есть коммит A, помеченный тегом, например, tag-A, а затем следующий коммит B, помеченный tag-B;если я раздавлю эти 2 коммита, что произойдет с тегами?Будут ли оба назначены на сдавленный коммит?

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Теги не будут перемещаться, потому что ребаз переписывает историю.Оригинальные коммиты будут иметь теги, так как теги не перемещаются.Вот картинка:

До:

(HEAD) B - tag-B
       |
       A - tag-A
       |
       X

После:

         B - tag-B
         |
(HEAD) C A - tag-A
       |/
       X

Здесь C - это сквош A и B.Начинается совершенно новая история, в которой A и B не будут участвовать.Голова ветви переместится на C и продолжит оттуда.

0 голосов
/ 21 января 2019

Будут ли оба назначены на сдавленный коммит?

Нет.

Каждый тег указывает на определенный коммит, и он никогда не удаляется от этого коммита самостоятельно.Коммиты, на которые указывал каждый тег, все еще живы, но не в какой-либо из ваших ветвей.

Сокращение двух коммитов создает отдельный новый коммит, только с содержимым исходных коммитов.Этот новый коммит не будет иметь тегов, указывающих на него.


Вы можете вручную переместить эти два тега, чтобы они указывали на ваш новый коммит:

git tag -f tag-A
git tag -f tag-B
...