Vì vậy, những câu trả lời nào khác không giải thích rõ ràng là nếu bạn muốn di chuyển tất cả các kho lưu trữ từ xa của bạn anches đến một điều khiển từ xa mới bằng cách sử dụng cơ chế push
của Git, sau đó bạn cần phiên bản chi nhánh địa phương của từng chi nhánh từ xa của bạn.
Bạn có thể sử dụng git branch
để tạo các chi nhánh địa phương. Điều đó sẽ tạo ra một tài liệu tham khảo chi nhánh dưới thư mục .git/refs/heads/
của bạn, nơi tất cả các tài liệu tham khảo chi nhánh tại địa phương của bạn được lưu giữ.
Sau đó, bạn có thể sử dụng git push
với --all
và --tags
cờ tùy chọn:
git push <new-remote> --all # Push all branches under .git/refs/heads
git push <new-remote> --tags # Push all tags under .git/refs/tags
Lưu ý rằng --all
và --tags
không thể được sử dụng với nhau, vì vậy đó là lý do tại sao bạn phải đẩy hai lần.
Documentation
Đây là liên quan git push
documentation:
--all
Thay vì đặt tên mỗi ref để đẩy, quy định rằng tất cả các refs dưới refs/heads/
được đẩy.
--tags
Tất cả refs dưới refs/tags
được đẩy, ngoài refspecs rõ ràng liệt kê trên dòng lệnh.
--mirror
Cũng lưu ý rằng --mirror
có thể được sử dụng để đẩy cả hai chi nhánh và thẻ tham khảo tại một lần, nhưng vấn đề với cờ này là nó đẩy tất cả các tài liệu tham khảo trong .git/refs/
, không chỉ .git/refs/heads
và .git/refs/tags
, có thể không phải là những gì bạn muốn đẩy tới điều khiển từ xa của mình.
Ví dụ, --mirror
có thể đẩy chi nhánh theo dõi từ xa của bạn từ cũ từ xa (s) đang được .git/refs/remotes/<remote>/
, cũng như tài liệu tham khảo khác của bạn như .git/refs/original/
, mà là một sản phẩm phụ của git filter-branch
.
Nguồn
2014-04-27 19:20:39
Tôi biết rằng đây là câu hỏi tự trả lời, nhưng bản thân câu hỏi vẫn có chất lượng rất thấp. Có thể thử thêm một số ý tưởng mà bạn đã thử hoặc tài liệu mà bạn đã xem trước khi đưa ra câu trả lời (http://stackoverflow.com/a/14432237/456814). –
FYI, [câu trả lời của umläute] (http://stackoverflow.com/a/14435630/456814) không hoàn toàn chính xác, hãy xem [bình luận của tôi] (http://stackoverflow.com/questions/14432234/how-do- i-move-my-remote-git-repo-to-khác-remote-git-repo # comment35718703_14435630). –