2009-05-18 25 views
10

Thỉnh thoảng, khi tôi làm như sau ...Tại sao đôi khi tôi thấy tên tệp "Entry" không được tăng lên. Không thể hợp nhất. " sau khi 'git reset --hard' và 'git pull'?

git reset --hard 
HEAD is now at 0123abde comment is here
git pull 
Updating 0123abde..456789fa

tôi nhận được lỗi ...

error: Entry 'filename' not uptodate. Cannot merge.

Cách giải quyết duy nhất mà tôi đã tìm thấy là để 'git reset --hard ', xóa (các) tệp vi phạm rồi thực hiện' git pull '. Điều đó dường như không đúng với tôi. Không phải là một khó thiết lập lại loại bỏ bất kỳ và tất cả các thay đổi địa phương do đó cho phép tôi để kéo mới nhất mà không có bất kỳ vấn đề hợp nhất? Tôi đang sử dụng git sai? :)

Đây là trên máy CI nên mọi thay đổi ở đây đều không mong muốn. Tôi đang sử dụng phiên bản git 1.6.1.9.g97c34 trên Windows Vista.

Trả lời

10

Ý tưởng chung đằng sau "Entry 'filename' not uptodate. Cannot merge." là:

Bạn có thay đổi các tập tin trong thư mục làm việc của bạn sẽ được ghi đè, loại bỏ hoặc bị mất nếu thanh toán và chuyển sang chi nhánh mới là để tiến hành.

has been reported rằng thông điệp này có thể là "giả mạo" lúc, (có khả năng bởi vì "git pull" did not refresh the index trước khi cố gắng hợp nhất) nhưng việc sửa chữa là trong Git1.6.1.
Tuy nhiên, nó vẫn có thể nằm trong mSysGit 1.6.1, vì vậy bạn có thấy cùng một lỗi với phiên bản mSysGit gần đây không? (như 1.6.3)

+0

Tôi sẽ cập nhật lên mSysGit mới nhất. Cảm ơn bạn đã trả lời nhanh chóng và bổ ích! –

+0

Chỉ muốn thêm rằng sau khi tôi cập nhật mSysGit lên phiên bản mới hơn, vấn đề cụ thể này không bao giờ xảy ra nữa. Vì vậy, quả thực, đó là nguyên nhân gốc rễ của vấn đề của tôi. –

+0

@James: cảm ơn vì phản hồi đó. – VonC

6

Tôi đã gặp sự cố tương tự và tôi đã đổi tên tệp đã gây ra lỗi này và đã thực hiện lệnh kéo git. Nó kéo tập tin bị thiếu và sửa vấn đề.

+0

Điều này đã hiệu quả! :-) –

+0

lừa ảo, nhưng đã làm việc! – cleric

Các vấn đề liên quan