Как мне слить тег git на ветку


155

Я пытаюсь найти синтаксис для слияния отмеченного коммита в другую ветку. Я предполагаю, что это прямо вперед, но мои слабые попытки поиска не находят это.

Ответы:


260

Вы имеете в виду это?

git checkout destination_branch
git merge tag_name

11
То же самое и здесь, поэтому я собираю git fetch --tags origin, тогда я могу: git merge tagname
Will Hancock

Есть ли способ объединить все теги одновременно?
ComFreek

Возможно ли другое? Слить ветку с тегом? Я попробовал "git checkout tag_name" и "git merge branch". Но в итоге проверил ветку вместо слияния.
ученик

@learner a Tag идентифицирует конкретный коммит. Вы не можете слиться с определенным коммитом, поэтому вам нужно переместить тег на коммит, который вы хотите. Это поможет решить, как это сделать: stackoverflow.com/questions/8044583/…
Иосия

85

Помните, что перед слиянием необходимо обновить тег, он сильно отличается от веток ( git pull origin tag_nameне будет обновлять ваши локальные теги). Таким образом, вам нужна следующая команда:

git fetch --tags origin

Затем вы можете выполнить git merge tag_nameслияние тега на ветке.


4
Я должен был сделать, git remote add upstream git@github.com/org/repoа затем git fetch --tags upstreamзаставить его работать.
MarkHu


1

Это единственный всеобъемлющий и надежный способ, который я нашел для этого.

Предположим, вы хотите объединить «tag_1.0» в «mybranch».

    $git checkout tag_1.0 (will create a headless branch)
    $git branch -D tagbranch (make sure this branch doesn't already exist locally)
    $git checkout -b tagbranch
    $git merge -s ours mybranch
    $git commit -am "updated mybranch with tag_1.0"
    $git checkout mybranch
    $git merge tagbranch

0

Я опаздываю на игру здесь, но другой подход может быть:

1) создать ветку из тега ( $ git checkout -b [new branch name] [tag name])

2) создать pull-запрос для объединения с вашей новой веткой в ​​ветку назначения

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.