Wie füge ich ein Git-Tag zu einem Zweig zusammen?

155

Ich versuche, die Syntax zum Zusammenführen eines getaggten Commits in einem anderen Zweig zu finden. Ich vermute, dass es einfach ist, aber meine schwachen Suchversuche finden es nicht.

ScaryGhast
quelle

Antworten:

259

Du meinst das?

git checkout destination_branch
git merge tag_name
Twalberg
quelle
11
Gleich hier, also git fetch --tags origin dann könnte ich: git merge tagname
Will Hancock
Gibt es eine Möglichkeit, alle Tags gleichzeitig zusammenzuführen?
ComFreek
Ist es anders möglich? Einen Zweig mit dem Tag zusammenführen? Ich habe versucht, "git checkout tag_name" und "git merge branch". Aber am Ende checkte ich den Zweig aus, anstatt ihn zusammenzuführen.
Lernender
@Learner Ein Tag identifiziert ein bestimmtes Commit. Sie können nicht zu einem bestimmten Commit zusammengeführt werden, daher müssen Sie das Tag in das gewünschte Commit verschieben. Dies würde das Wie darauf ansprechen
Josiah
85

Denken Sie daran, dass Sie das Tag vor dem Zusammenführen aktualisieren müssen, es unterscheidet sich erheblich von Zweigen ( git pull origin tag_nameIhre lokalen Tags werden nicht aktualisiert). Daher benötigen Sie den folgenden Befehl:

git fetch --tags origin

Anschließend können Sie git merge tag_namedas Tag in einem Zweig zusammenführen.

Toter Mann
quelle
4
Ich musste es tun, git remote add upstream [email protected]/org/repogefolgt davon git fetch --tags upstream, damit es funktionierte.
MarkHu
1

Dies ist der einzige umfassende und zuverlässige Weg, den ich gefunden habe, um dies zu tun.

Angenommen, Sie möchten "tag_1.0" in "mybranch" zusammenführen.

    $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
Paiego
quelle
0

Ich bin zu spät zum Spiel hier, aber ein anderer Ansatz könnte sein:

1) Erstellen Sie einen Zweig aus dem Tag ( $ git checkout -b [new branch name] [tag name])

2) Erstellen Sie eine Pull-Anfrage, um sie mit Ihrem neuen Zweig in den Zielzweig zu integrieren

Für den Sieg
quelle