2012-02-14 31 views
9

Khi tôi git pull origin development, tôi đã nhận lỗi:lỗi: tập tin cây không được theo dõi hoạt động

error: Untracked working tree file '<path-to-file>' would be overwritten by merge 

Lý do là vì một tập tin mà là trong remote development branch mà không đưa vào git trong dự án địa phương của tôi (tôi không muốn tập tin đó trong điều khiển phiên bản, do đó đã làm git rm). Nhưng trên remote development, tệp đó sẽ thoát để kiểm soát phiên bản

Cách giải quyết vấn đề này? Về cơ bản, tôi muốn các chi nhánh từ xa cũng loại bỏ các tập tin từ kiểm soát phiên bản.

+0

Có thể trùng lặp với http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull – vpatil

Trả lời

4

Để giải quyết vấn đề trước mắt của bạn, bạn nên thực hiện một bản sao lưu của tập tin địa phương, loại bỏ bản gốc, kéo từ chi nhánh từ xa, và sau đó git rm (theo sau là một đẩy, để đảm bảo repo từ xa cũng xóa tập tin). Sau đó, bạn có thể đặt tệp sao lưu trở lại cục bộ và thêm một dòng vào tệp .gitignore của bạn.

+0

Vấn đề xảy ra khi git kéo. –

+0

Tôi sẽ chỉnh sửa câu trả lời của mình. Những gì bạn cần làm là xóa bản sao không được theo dõi cục bộ. Điều đang xảy ra là một tệp tồn tại từ xa, nhưng không tồn tại cục bộ. git sẽ không cho phép bạn ghi đè tệp cục bộ không được theo dõi. –

2

này xảy ra do một tập tin untracked sẽ được ghi đè bởi một tập tin mới đến từ các yêu cầu kéo

Đề nghị của tôi sẽ được:

git add . 
git stash 
git pull 

Về cơ bản thêm các tập tin mà không phải là theo dõi vào repo git của bạn và stashing chúng đi và kéo trong phiên bản mới.

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