2012-06-23 28 views
9

Tôi đang sử dụng git trong các dự án của mình, bất cứ khi nào tôi cố gắng kéo từ Xcode, tôi nhận được "Thay đổi không được cam kết" và nó ngăn tôi kéo/đẩy. Tôi cố gắng cam kết và tìm một tệp có phần mở rộng * .xcuserstate, tệp này được sửa đổi bất cứ khi nào tôi mở/cuộn vào bất kỳ tệp dự án nào trong Xcode. Điều đó khiến tôi không có lựa chọn nào khác ngoài việc thực hiện một cam kết duy nhất chứa tệp đó, điền vào git commit logs với các cam kết vô nghĩa.Xcode nói "Thay đổi không được cam kết" Bất cứ khi nào tôi cố gắng git kéo hoặc đẩy

Đây có phải là cách để ngăn chặn hành vi này không?

Tôi đã cố gắng đặt * .xcuserstate và xcuserdata vào git bỏ qua nhưng điều đó đã khiến Xcode gặp sự cố mỗi khi tôi cố gắng kéo.

Điều này xảy ra với Xcode 4.2 và 4.3

Trả lời

18

Thông thường bạn không muốn đặt các tệp *.xcuserstate*.xcuserdata vào kho lưu trữ Git của mình. Các tệp này không thực sự là một phần của dự án của bạn, nhưng chỉ là một nơi Xcode lưu trữ thông tin địa phương của nó hữu ích khi tải lại dự án của bạn.

Bạn có thể khắc phục điều này bằng cách sử dụng:

git rm --cached *.xcuserstate *.xcuserdata 

và sau đó cam kết kết quả. Thao tác này sẽ xóa các tệp đó khỏi kho lưu trữ mà không xóa chúng khỏi thư mục làm việc của bạn.

+0

Tôi đã cố gắng để đặt chúng trong gitignore nhưng Xcode sụp đổ khi tôi cố gắng kéo, điều này xảy ra với bạn? –

+0

Không, không. Xcode có chạy khi bạn kéo không? Có lẽ thử đóng Xcode trước. –

+0

Tôi sẽ thử với nhóm của mình và chấp nhận câu trả lời nếu nó hoạt động OK. –

2

Nếu đây là một tập tin cài đặt mà là khác nhau cho mỗi nhà phát triển, có thể bạn không cần phải điều khiển phiên bản đó, chỉ cần loại bỏ nó từ Git.

Nếu đó không phải là tùy chọn, bạn có thể Git Stash Save thay đổi của mình trước khi kéo và Git Stash pop để áp dụng lại.

+0

Tôi đã cố gắng để đặt chúng vào gitignore nhưng Xcode sụp đổ khi tôi cố gắng kéo, điều này xảy ra với bạn, bạn đã thử phương pháp đó? –

+0

Không, cá nhân tôi không bao giờ đặt các tệp cấu hình dưới sự kiểm soát nguồn. Bạn đã cố gắng để stash họ thay thế? – Usman

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