ฉันพยายามค้นหาไวยากรณ์สำหรับการรวมการคอมมิตที่ติดแท็กเข้ากับสาขาอื่น ฉันเดาว่ามันตรงไปตรงมา แต่ความพยายามในการค้นหาที่อ่อนแอของฉันไม่พบ
ฉันพยายามค้นหาไวยากรณ์สำหรับการรวมการคอมมิตที่ติดแท็กเข้ากับสาขาอื่น ฉันเดาว่ามันตรงไปตรงมา แต่ความพยายามในการค้นหาที่อ่อนแอของฉันไม่พบ
คำตอบ:
คุณหมายถึงอะไร
git checkout destination_branch
git merge tag_name
โปรดจำไว้ว่าก่อนที่คุณจะรวมคุณต้องอัปเดตแท็กมันค่อนข้างแตกต่างจากสาขา ( git pull origin tag_name
จะไม่อัปเดตแท็กท้องถิ่นของคุณ) ดังนั้นคุณต้องใช้คำสั่งต่อไปนี้:
git fetch --tags origin
จากนั้นคุณสามารถดำเนินการgit merge tag_name
เพื่อรวมแท็กเข้ากับสาขา
git remote add upstream git@github.com/org/repo
ตามgit fetch --tags upstream
เพื่อให้มันใช้งานได้
เพียงเติมเต็มคำตอบ
การรวมแท็กสุดท้ายในสาขา:
git checkout my-branch
git merge $(git describe --tags $(git rev-list --tags --max-count=1))
แรงบันดาลใจจากhttps://gist.github.com/rponte/fdc0724dd984088606b0
นี่เป็นวิธีเดียวที่ครอบคลุมและเชื่อถือได้ฉันพบว่าทำเช่นนี้
สมมติว่าคุณต้องการรวม "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
ฉันมาช้าไปที่เกม แต่วิธีอื่นอาจเป็น:
1) สร้างสาขาจากแท็ก ( $ git checkout -b [new branch name] [tag name]
)
2) สร้างคำขอดึงเพื่อผสานกับสาขาใหม่ของคุณในสาขาปลายทาง