Tôi vừa có kinh nghiệm đầu tiên với việc viết lại lịch sử của một trong các repo của tôi (sử dụng git-filter-branch). Vấn đề là repo có một số thẻ, mà sau khi viết lại dường như hoàn toàn bị ngắt kết nối khỏi lịch sử kết quả. Tôi nghĩ rằng điều này là do thực tế là lịch sử liên kết với các thẻ đã không được viết lại, vì vậy họ phải trỏ đến các cam kết cũ. Vì vậy, tôi có thể làm gì để "áp dụng" các thẻ trên lịch sử mới. Một nghệ thuật ASCII chút, có lẽ nó dễ dàng hơn để hiểu câu hỏi của tôi:Git, viết lại lịch sử của chi nhánh chính và các thẻ liên quan
gốc repo: Cơ cấu
+ HEAD
|
|
+ TAG 0.2.0
|
|
+ TAG 0.1.0
|
|
+ Initial commit
Repo báo cáo của gitk --all
sau lịch sử viết lại:
+ HEAD
|
|
|
|
|
|
|
|
+ Initial commit
+ HEAD
|
|
+ TAG 0.2.0
|
|
+ TAG 0.1.0
|
|
+ Initial commit
Cảm ơn VonC, tôi bỏ lỡ '- --all' phần.May mắn là tôi đã có một bản sao lưu của kho lưu trữ và thử lại với tùy chọn '--all' và nó hoạt động như tôi muốn. –