Làm cách nào để ghi đè thẻ cục bộ bằng tìm nạp git? Tôi muốn thay thẻ cục bộ bằng thẻ từ xa.Làm cách nào để ghi đè thẻ cục bộ bằng tìm nạp git?
Trả lời
git fetch --tags
sẽ làm điều đó.
Từ docs (mô tả của tham số --tags
):
Hầu hết các thẻ được lấy tự động khi người đứng đầu chi nhánh được tải xuống, nhưng thẻ không chỉ ở các đối tượng truy cập từ người đứng đầu chi nhánh đang được theo dõi sẽ không được tìm nạp theo cơ chế này. Cờ này cho phép tất cả các thẻ và các đối tượng liên kết của chúng được tải xuống. Hành vi mặc định cho điều khiển từ xa có thể được chỉ định bằng cài đặt từ xa..tagopt.
Thẻ sẽ không bị ghi đè vì chúng có nghĩa là sắp xếp không thay đổi. Nếu bạn muốn có một đối tượng (thực tế) có thể thay đổi được, hãy sử dụng một nhánh con trỏ hoặc một tham số thay thế. Điều đó khiến bạn bị: git tag -d tên thẻ ... và sau đó tìm nạp lại.
Tôi không đồng ý với tuyên bố đầu tiên của bạn - Điều này sẽ bóp méo toàn bộ vấn đề sử dụng VCS mà bạn không nghĩ? – lightonphiri
Git không khuyến khích viết lại lịch sử (đã chia sẻ, từ xa). Điều đó không đánh bại điểm của một VCS - đó là để giữ cho lịch sử! Trong hầu hết các trường hợp, có thể ép buộc những thứ như vậy xảy ra nhưng nó có thể gây ra một số vấn đề. –
git fetch --tags --all --prune
này sẽ cho rõ ràng git để lấy, và cùng một lúc, hãy tháo thẻ mà không còn tồn tại trên điều khiển từ xa.
Điều này dường như không xóa các thẻ chỉ xuất hiện tại địa phương. –
@MartijnHeemels, git không thể phân biệt giữa thẻ chưa bao giờ được đẩy và thẻ đã bị xóa khỏi điều khiển từ xa. –
Đầu tiên, không giống như các nhánh, git không theo dõi các thẻ từ xa khác với các thẻ cục bộ. Sau khi tìm nạp xong, chúng không thể phân biệt được.
- không cập nhật thẻ địa phương (mặc dù hướng dẫn không nói)
git fetch --tags
- không cập nhật thẻ địa phương
git fetch
git fetch --prune
git fetch --prune --force
Thẻ cập nhật/ghi đè trông như thế này:
From git:path/name
- [tag update] my_tag -> my_tag
này làm việc cho thẻ nhẹ và chú thích, thậm chí hỗn hợp. Đó là: thẻ được chú thích có thể được ghi đè bằng thẻ có trọng lượng nhẹ và ngược lại.
tôi đã sử dụng git phiên bản 2.7.4
lưu ý: điều này không xóa các thẻ đã bị xóa trên điều khiển từ xa –
@CarlosHeuberger Nhận xét của bạn cho thấy rằng bạn tin rằng có cách để thực hiện điều đó, nhưng không có. Bạn thực sự có thể xóa tất cả các thẻ cục bộ không tồn tại trên điều khiển từ xa, nhưng thẻ cũng xóa các thẻ _local không bao giờ trên điều khiển từ xa ở all_ (ví dụ: chưa được đẩy hoặc thẻ cho các mục đích chỉ dùng cục bộ). Không có cách nào để chỉ xóa các thẻ đã được _deleted trên remote_. –
Bạn không chắc chắn lý do tại sao bạn cho rằng nhận xét của tôi gợi ý rằng - tôi chưa bao giờ viết có cách để làm điều đó!?! Tôi chỉ cố gắng để bổ sung câu trả lời của bạn vì không nơi nào nó nói rằng thẻ địa phương không bị xóa và "không cập nhật thẻ địa phương" có thể được hiểu cũng như loại bỏ một thẻ đã được gỡ bỏ trên điều khiển từ xa. Tôi nghĩ đó là một tuyên bố rõ ràng (không có bất kỳ gợi ý ẩn giấu nào) ... nhưng tiếng Anh của tôi có lẽ tệ hơn tôi nghĩ. –
- 1. git: Làm cách nào để ghi đè tất cả thay đổi cục bộ khi hợp nhất?
- 2. Git: Làm cách nào để ghi đè thay đổi cục bộ?
- 3. Làm cách nào để ghi đè nhập bằng Python?
- 4. Làm cách nào để ghi đè các thay đổi cục bộ của mình trong TortoiseSVN?
- 5. Làm cách nào để ghi đè thẻ <base> mà không xóa thẻ?
- 6. Làm cách nào để trang trí một bản ghi git bằng thẻ gần nhất?
- 7. Làm cách nào để kéo/tìm nạp với Git * INTO * một kho lưu trữ trống?
- 8. cách ghi đè bằng lệnh git push, ghi đè các thay đổi đối với máy chủ git?
- 9. Ghi đè bố cục Magento!
- 10. Làm cách nào để ghi đè lên td align = "center"?
- 11. Làm cách nào để buộc git pull ghi đè mọi thứ trên mỗi lần kéo?
- 12. Yêu cầu Python tìm nạp tệp từ url cục bộ
- 13. Tìm nạp thẻ meta từ url chỉ bằng jQuery
- 14. Tìm nạp tệp đã xóa cục bộ từ Mercurial
- 15. Làm cách nào để ghi đè kiểu Android.R.layout.simple_list_item_multiple_choice?
- 16. Làm cách nào để ghi đè cài đặt ClearType khi vẽ văn bản bằng API Win32?
- 17. TTF cài đặt cục bộ sẽ ghi đè fonts Google
- 18. "s3cmd nhận" ghi đè các tệp cục bộ
- 19. Làm cách nào để tôi có thể ghi đè lên khối bố cục TWIG?
- 20. Làm thế nào để ghi đè lên phong cách toàn cầu cho img thẻ trong css
- 21. Làm cách nào để ghi đè CSS trên lịch google được nhúng bằng ASP.Net/C#?
- 22. clojure - cách chính xác để ghi đè cục bộ các toán tử như "+", "*", v.v.
- 23. API Instagram để tìm nạp ảnh bằng thẻ bắt đầu bằng # cụ thể
- 24. Làm cách nào để bắt buộc tìm nạp thẻ nếu tôi có tùy chọn --no-tags được đặt
- 25. Nhà soạn nhạc không tìm nạp phụ thuộc từ kho lưu trữ cục bộ
- 26. Làm cách nào để ghi đè (vô hiệu hóa) hành vi "gửi" của thẻ nút bên trong thẻ biểu mẫu?
- 27. Làm cách nào để ghi đè tải trọng trong số
- 28. Bắt buộc ghi đè tệp cục bộ với tệp gốc có nguồn gốc là gì?
- 29. Ghi đè tác giả trên git merge
- 30. Git stash để ghi đè lên các tệp đã thêm
Nhưng tôi đang hỏi làm thế nào để ghi đè lên thẻ địa phương hiện có, bởi vì chúng được tạo ra sai – linquize
'git fetch --tags' sẽ trong bản cập nhật thực tế hiện có thẻ địa phương, ví dụ như, nếu thẻ FOO từ xa ánh xạ tới 1234567 và bản đồ FOO thẻ địa phương cho fedcba9, 'git fetch --tags' sẽ thay thế FOO bằng 1234567. – torek
Cập nhật: trong các phiên bản git mới hơn, điều này sẽ không còn cập nhật thẻ cục bộ nữa. Bạn có thể buộc cập nhật chúng thay vào đó, với 'git fetch '+ refs/tags/*: refs/tags/*'' ('--force' cũng có thể hoạt động, nhưng tôi chưa thử nghiệm). –
torek