Theo dõi this câu hỏi: nếu tôi có bản sao nông, cách lấy tất cả các cam kết cũ hơn để tạo bản sao đầy đủ?Chuyển đổi bản sao nông thành bản sao đầy đủ
Trả lời
Bạn có thể chạy git fetch --depth=1000000
(giả sử kho lưu trữ có ít hơn một triệu lần commit).
Bây giờ 'git fetch --unshallow' tồn tại (như trong câu trả lời của @ sdram), câu trả lời này không còn là câu trả lời hay nhất nữa. –
@ sdram của câu trả lời đã không làm việc cho tôi (git phiên bản 2.1.1), nhưng câu trả lời này đã làm. – kay
Cả hai câu trả lời đều không hiệu quả với tôi. Cả hai lệnh đã thành công trong việc tìm nạp tất cả các cam kết còn thiếu, nhưng khi tôi cố gắng đẩy các cam kết mới, tôi nhận được một lỗi về máy chủ không biết về 'nông' refs – Tyguy7
Lệnh dưới đây (git phiên bản 1.8.3) sẽ chuyển đổi các bản sao cạn để thường xuyên một
git fetch --unshallow
Sau đó, để có được quyền truy cập vào tất cả các chi nhánh trên nguồn gốc (nhờ @ Peter trong các ý kiến)
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
Thao tác này không hoàn tác tác dụng phụ - nhánh. Để thực hiện điều đó, hãy chỉnh sửa .git/config và thay đổi fetch = + refs/heads/BRANCHNAME: refs/remotes/origin/BRANCHNAME để tìm nạp = + refs/heads/*: refs/remotes/origin/* –
Điều này không tạo các chi nhánh địa phương theo dõi các nhánh từ xa, vì vậy bạn vẫn cần phải kiểm tra nguồn gốc BR-BRNAME/BRNAME để thiết lập. –
Xem thêm http://stackoverflow.com/questions/17714159/how-do-i-undo-a-single-branch-clone: 'git config remote.origin.fetch" + refs/heads/*: refs/điều khiển từ xa/origin/* ";' 'git fetch origin' từ một câu trả lời phải giống như editting .git/config bằng tay –
Tôi cần làm sâu hơn một bản ghi nhớ chỉ với một cam kết cụ thể.
Sau khi đọc man git-fetch
, tôi phát hiện ra rằng người ta không thể chỉ định một cam kết, nhưng có thể chỉ định một ngày:
git fetch --shallow-since=15/11/2012
Đối với những người cần làm sâu sắc hơn gia tăng, một man
quote:
--deepen=<depth>
Tương tự như --depth, ngoại trừ nó chỉ định số lượng cam kết từ ranh giới nông hiện tại thay vì từ mũi của e ach lịch sử chi nhánh từ xa.
Bạn có thể thử này:
git fetch --update-shallow
- 1. C# Từ điển bản sao nông nghiệp?
- 2. Chuyển đổi trọng tài thành thành viên đầy đủ
- 3. Tại sao AutoMapper tạo bản sao nông nghiệp?
- 4. ArrayList bản sao nông lặp hoặc sao chép()
- 5. bản sao nông của một bản đồ trong Java
- 6. Bản sao nông sản của một băm nhỏ
- 7. SqlCommand.Clone() có tạo bản sao sâu hoặc bản sao nông không?
- 8. Câu hỏi về bản sao nông trong C++
- 9. std vector C++ - bản sao sâu hoặc nông
- 10. Arrays.copyOf có tạo bản sao nông hoặc sâu không?
- 11. "cập nhật theo tham chiếu" so với bản sao nông
- 12. Chuyển đổi bản sao Cobol sang XSD
- 13. Thành viên của Bản sao thành viên
- 14. cột đầy đủ thay đổi thành hàng
- 15. UnexpectedRollbackException - phân tích kịch bản đầy đủ
- 16. Bản đồ Google đầy đủ và CSS
- 17. Sao chép danh sách trong python: sâu vs nông bản sao: gotcha cho tôi trong python?
- 18. Phương pháp sao chép trên mảng bản sao sâu hay nông?
- 19. Thay đổi kích thước văn bản thành thùng chứa hoàn toàn đầy đủ
- 20. Sự khác biệt giữa bản sao nông và bản sao sâu với các mảng JavaScript là gì?
- 21. Tại sao một bãi chứa SVN của một bản sửa đổi lớn hơn một bãi chứa đầy đủ?
- 22. Bản sao EC2 Bản sao
- 23. bản sao sâu vs Sao chép Shallow
- 24. Làm thế nào để chuyển đổi một char thành tên Unicode đầy đủ của nó?
- 25. Thẻ khung nội tuyến trong thành phần cung cấp trang không đầy đủ khi xuất bản
- 26. Postgres: Chuyển đổi varchar thành văn bản
- 27. Chỉ mục tìm kiếm văn bản đầy đủ của SQLite
- 28. Sao chép đầy đủ cơ sở dữ liệu MySQL đầy đủ? Ý tưởng? Mọi người làm gì?
- 29. Python từ điển bản sao phương pháp
- 30. Chuyển đổi các bản sao thư mục thành các nhánh trong TFS 2010
Bạn có xem xét để đánh dấu câu trả lời @ SDRAM không? Đó là một trong những chính xác. –