2011-10-30 31 views
63

Mở trung tâm git tôi lại thêm thẻ bằng cách thực hiện:thẻ git xóa đi rồi thêm

git tag -d 12.15 
git push origin :refs/tags/12.15 
git tag -a 12.15 -m '12.15' 
git push --tags 

Thẻ vẫn còn đề cập đến các thẻ cũ trên github, nhưng tại địa phương nó được thực hiện đúng.

CẬP NHẬT: Dường như github liệt kê cam kết cuối cùng sai, nhưng tải xuống chính xác.

+13

'git tag -d' xóa thẻ. Trên thực tế những gì tôi đến đây tìm kiếm ... :) –

Trả lời

65

Các tham chiếu là https://stackoverflow.com/a/5480292/1317035

Bạn chỉ cần đẩy một tài liệu tham khảo 'rỗng' vào tên thẻ từ xa:

git push origin :tagname 

Hoặc, expressively hơn, sử dụng các --delete tùy chọn:

git push --delete origin tagname 

Đẩy một chi nhánh, thẻ hoặc ref khác vào một kho lưu trữ từ xa liên quan đến việc chỉ định "đẩy vị trí, nguồn gì, đích đến nào?"

git push where-to-push source-ref:destination-ref 

Một ví dụ thế giới thực nơi bạn đẩy chi nhánh chủ của bạn đến chi nhánh tổng thể của nguồn gốc là:

git push origin refs/heads/master:refs/heads/master 

nào vì các đường dẫn mặc định, có thể được rút ngắn xuống còn:

git push origin master:master 

Thẻ hoạt động theo cách tương tự:

git push refs/tags/release-1.0:refs/tags/release-1.0 

Bằng cách bỏ qua ref nguồn (phần trước dấu hai chấm), bạn đẩy 'không có gì' đến đích, xóa ref trên đầu cuối từ xa.

+3

thông tin tốt đẹp về lý do tại sao thêm ':' hoạt động .. cảm ơn .. –

+0

@guymograbi bạn có thể tìm thêm thông tin ở đây http://git-scm.com/docs/git- đẩy # OPTIONS – nickleefly

Các vấn đề liên quan