Tôi có một kho lưu trữ cục bộ lấy từ một kho lưu trữ từ xa. Chạy git pull
cũng như git fetch; git merge FETCH_HEAD
sử dụng để thực hiện chính xác các hành động tương tự, như dự kiến từ description of git pull
:Tham chiếu FETCH_HEAD không cập nhật chính xác sau khi "git fetch"
MÔ TẢ
Kết hợp thay đổi từ một kho lưu trữ từ xa vào các chi nhánh hiện hành. Trong chế độ mặc định của nó, git pull là viết tắt của git fetch, tiếp theo là git merge FETCH_HEAD.
Hiện tại, và đột ngột, chạy git fetch
ngừng cập nhật tài liệu tham khảo FETCH_HEAD
chính xác. FETCH_HEAD
hiện bị kẹt với một cam kết cũ. Chạy git fetch
tải xuống tất cả các thay đổi đối với các nhánh được theo dõi từ xa, nhưng FETCH_HEAD vẫn không thay đổi bất kể nhánh đang chạy ở đâu.
# currently in branchone
> git fetch
# branchone is up to date since...
> git rev-parse branchone
593539e8a98ba5980d4b645db3b0f506bb9b6a2c
# ...its in the same commit as the remote branch
> git rev-parse origin/branchone
593539e8a98ba5980d4b645db3b0f506bb9b6a2c
# however FETCH_HEAD shows something different
> git rev-parse FETCH_HEAD
37301df96597ac037f8e7e846fea6fc7df77bea5
git pull
vẫn thực hiện tác vụ chính xác. Tuy nhiên, chạy git fetch; git merge FETCH_HEAD
sẽ làm điều gì đó khác biệt kể từ khi FETCH_HEAD
trỏ đến một cam kết không chính xác.
Có bất kỳ cài đặt hoặc vấn đề nào có thể gây rối với hành vi git fetch
không?
sửa đổi Đáng buồn là không có. Thậm chí Reseting kho đến rất cũ có gì thay đổi trong hành vi của 'git fetch' và' FETCH_HEAD'. – LopSae
Một thứ khác bạn có thể thử là xóa toàn bộ kho lưu trữ cục bộ và sao chép lại nó. Nếu không, tôi sẽ giúp bạn thêm. Tôi đang cố gắng đánh giá điều gì sai với bạn Kho lưu trữ cục bộ .. – aliasgar
Trên một kho lưu trữ mới, hành vi giống nhau.Kết quả mà 'FETCH_HEAD' trỏ tới là điểm đầu tiên xuất hiện trong tệp' .git/FETCH_HEAD'. Đọc xung quanh nó có vẻ như đây là hành vi dự định, nhưng Tôi vẫn còn với sự nghi ngờ của wh y trước đó đang thực hiện 'git fetch; git merge FETCH_HEAD' hoạt động hoàn hảo trên mọi nhánh. – LopSae