ฉันจะรวมแท็ก git เข้ากับสาขาได้อย่างไร


155

ฉันพยายามค้นหาไวยากรณ์สำหรับการรวมการคอมมิตที่ติดแท็กเข้ากับสาขาอื่น ฉันเดาว่ามันตรงไปตรงมา แต่ความพยายามในการค้นหาที่อ่อนแอของฉันไม่พบ

คำตอบ:


260

คุณหมายถึงอะไร

git checkout destination_branch
git merge tag_name

11
เหมือนกันที่นี่ดังนั้นฉันเรียก git - แท็กแหล่งกำเนิดแล้วฉันสามารถ: git ผสาน tagname
Will Hancock

มีวิธีรวมแท็กทั้งหมดพร้อมกันหรือไม่
ComFreek

เป็นไปได้หรือไม่ รวมสาขากับแท็กหรือไม่ ฉันลองใช้ "git checkout tag_name" และ "git merge branch" แต่จบลงด้วยการตรวจสอบสาขาแทนการรวม
ผู้เรียน

@ เรียนรู้แท็กระบุการกระทำที่เฉพาะเจาะจง คุณไม่สามารถรวมการกระทำที่เฉพาะเจาะจงได้ดังนั้นคุณต้องย้ายแท็กไปยังการส่งที่คุณต้องการ ซึ่งจะกล่าวถึงวิธีการดังกล่าว: stackoverflow.com/questions/8044583/…
Josiah

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) สร้างคำขอดึงเพื่อผสานกับสาขาใหม่ของคุณในสาขาปลายทาง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.