Cách kéo repo git từ github với tất cả các cam kết không liên kết


13

Tôi đang tự hỏi làm thế nào để kéo một repo với tất cả các cam kết chưa được gc'd, nếu điều đó là có thể ..

nó giống như:

$ git clone x
$ cd x
$ git fetch origin -f

? hay cái gì khác?


Bạn đang cố gắng để thực hiện? Có lẽ nếu chúng tôi biết lý do tại sao bạn cần điều này, chúng tôi có thể cung cấp cho bạn một câu trả lời tốt hơn. Thông thường, chủ sở hữu của kho lưu trữ từ xa sẽ tham chiếu các cam kết mà họ muốn có thể tìm nạp được. Cam kết nguy hiểm rằng gc'd chưa có nguy cơ bị mất bất cứ lúc nào.
Stephen Jennings

Câu trả lời:


5

Không có lệnh nào tôi biết rằng "hạ tất cả các đối tượng cam kết trong kho lưu trữ từ xa, ngay cả những đối tượng không được ước tính".

Bạn chỉ có thể mang lại các cam kết với một tham chiếu trong kho lưu trữ từ xa. Bạn có thể làm điều này với lệnh:

git fetch [remote] [remoteBranch]:[localBranch]

Kho lưu trữ từ xa sẽ cần tạo một tham chiếu đến bất kỳ cam kết lơ lửng nào trước khi bạn có thể tìm nạp chúng. Nếu bạn có quyền truy cập vào kho lưu trữ từ xa, bạn có thể thực hiện việc này bằng một lệnh như:

git fsck --lost-found

Đầu ra sẽ cho bạn thấy bất kỳ cam kết lơ lửng. Cung cấp cho họ một tài liệu tham khảo với git branch [branchname] [commit sha1], sau đó bạn có thể lấy chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.