2011-07-23 14 views

Trả lời

47

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).

+120

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. –

+1

@ 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

+1

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

409

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 
+27

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/* –

+2

Đ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. –

+19

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 –

5

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.

0

Bạn có thể thử này:

git fetch --update-shallow 
Các vấn đề liên quan