2013-06-26 55 views
21

Tôi không thể loại trừ tệp trạng thái giao diện người dùng khỏi cam kết.Không thể loại trừ trạng thái giao diện người dùng khỏi cam kết trong xcode

Mỗi khi tôi cố gắng chuyển sang github, nó yêu cầu tôi cam kết đầu tiên và chèn tệp trạng thái giao diện người dùng vào các thay đổi (ngay cả khi tôi không di chuyển chuột hoặc giao diện, nó vẫn được hiển thị để cam kết!).

Tôi đã thử các phương pháp khác nhau, được mô tả trong các chủ đề tương tự khác. Ví dụ: tôi đã cố gắng thêm tất cả các trường hợp giao diện người dùng có thể vào trong thư mục gốc .gitignore như sau:

*.xcuserstate 
project.xcworkspace 
xcuserdata 
UserInterfaceState.xcuserstate 
project.xcworkspace/ 
xcuserdata/ 
UserInterface.xcuserstate 

Nó không hoạt động. Tôi đã cố xóa bộ nhớ cache và đặt lại git, không giúp được gì.

Git lệnh tình trạng nói như sau: "chỉnh sửa: .xcodeproj/project.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate"

Và nó trông như thế này

Xin giúp (nó là khiến tôi phát điên)!

Trả lời

31

Nếu những tệp đó đã được cam kết, bạn cần xóa chúng khỏi chỉ mục trước khi xem tệp .gitignore của bạn hoạt động.

git rm --cached *.xcuserstate 
# or 
git rm -r --cached project.xcworkspace 
+0

Nó làm việc, cảm ơn bạn! Hy vọng nó sẽ ở lại như thế này – titicaca

17

Để thêm vào câu trả lời của VonC sau khi gọi -rm bạn cũng phải cam kết và sau đó đẩy (làm điều này tại nhà ga trước khi chạm vào Xcode hoặc nó git công cụ một lần nữa), mà giải quyết vấn đề của tôi.

Vì vậy

git rm --cached *.xcuserstate 
git commit -m "Removed cached files" 
git push 

Sau đó, bạn có thể chạm vào Xcode lại

+1

Cam kết từ dòng lệnh là những gì cố định nó cho tôi. – smacdonald