Làm cách nào để hợp nhất thẻ git vào một nhánh


155

Tôi đang cố gắng tìm cú pháp để hợp nhất một cam kết được gắn thẻ vào một nhánh khác. Tôi đoán rằng nó thẳng tiến nhưng những nỗ lực tìm kiếm yếu ớt của tôi không tìm thấy nó.

Câu trả lời:


260

Ý bạn là?

git checkout destination_branch
git merge tag_name

11
Tương tự ở đây vì vậy tôi git fetch --tags nguồn gốc sau đó tôi có thể: git merge tagname
Will Hancock

Có cách nào để hợp nhất tất cả các thẻ cùng một lúc không?
ComFalet

Có thể là cách khác? Hợp nhất một nhánh vào thẻ? Tôi đã thử "git checkout tag_name" và "git merge nhánh". Nhưng cuối cùng đã kiểm tra chi nhánh thay vì sáp nhập.
người học

@learner Thẻ xác định một cam kết cụ thể. Bạn không thể hợp nhất thành một cam kết cụ thể để bạn cần di chuyển thẻ đến cam kết bạn muốn. Điều này sẽ giải quyết như thế nào về điều đó: stackoverflow.com/questions/8044583/ trộm
Josiah

85

Hãy nhớ trước khi hợp nhất bạn cần cập nhật thẻ, nó khá khác so với các chi nhánh ( git pull origin tag_namesẽ không cập nhật thẻ địa phương của bạn). Vì vậy, bạn cần lệnh sau:

git fetch --tags origin

Sau đó, bạn có thể thực hiện git merge tag_nameđể hợp nhất thẻ vào một nhánh.


4
Tôi đã phải làm git remote add upstream git@github.com/org/repotheo sau git fetch --tags upstreamđể làm cho nó hoạt động.
MarkHu


1

Đây là cách toàn diện và đáng tin cậy duy nhất tôi tìm thấy để làm điều này.

Giả sử bạn muốn hợp nhất "tag_1.0" vào "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

Tôi đến trễ trò chơi ở đây, nhưng một cách tiếp cận khác có thể là:

1) tạo một nhánh từ thẻ ( $ git checkout -b [new branch name] [tag name])

2) tạo yêu cầu kéo để hợp nhất với nhánh mới của bạn vào nhánh đích

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.