Tập tin gitignore Xcode 6 nên bao gồm những gì?


225

Điển hình .gitignorebao gồm những gì cho Xcode 6?

Ngoài ra để biết thông tin liên quan đến xccheckoutgiới thiệu trong Xcode 5 xem tại đây


51
Đây không phải là một câu hỏi "chủ yếu dựa trên quan điểm". Có những tệp mà git nên luôn bỏ qua trong XCode, các tệp chương trình như xcuserdata. Sự lựa chọn để loại trừ những điều này là không có cách nào dựa trên ý kiến.
Dermot

4
Tôi thứ hai Dermot trên đó! Không bỏ qua một số tệp gây ra lỗi, do đó có một thực tiễn tốt nhất dứt khoát. Một nửa trong số các ví dụ mã được chia sẻ trong các câu trả lời SO có thể được xem xét như ý kiến ​​vì có nhiều cách khác để thực hiện, nhưng thường có các thực tiễn tốt nhất và các tiêu chuẩn thực tế được chấp nhận.
cơn thịnh nộ

2
Có lẽ đã đóng cửa một phần vì có một câu trả lời mở rộng ở đây: stackoverflow.com/questions/49478/ ,. Trong nghiên cứu của tôi, bạn không chính xác khi nói rằng .xccheckout nên được bỏ qua - nhưng nó không rõ ràng 100% và tôi đã đăng nhập một lỗi với Apple để yêu cầu câu trả lời chính thức.
Adam

Câu trả lời:


276

1)

Câu trả lời dễ nhất là của tôi trông như thế này:

# Xcode
.DS_Store
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
# Pods - for those of you who use CocoaPods
Pods

mà tôi tin là giống nhau .gitignore mà GitHub thiết lập với tất cả các kho lưu trữ của chúng theo mặc định.

2)

Một câu trả lời khác là có một trang web gọi là "gitignore.io" , tạo ra các tệp dựa trên các mẫu .gitignore từ https://github.com/github/gitignore .


10
đừng quên xóa xcworkspace trong trường hợp bạn sử dụng vỏ ca cao nếu tích hợp các móc nối bài cam kết với ví dụ: travis
Ivor Prebeg

3
Tôi đã nghiên cứu tất cả các tệp - cf stackoverflow.com/questions/49478/, - những người đóng góp khác nhau, không được đánh giá cao cho dự án github rõ ràng là không (tôi liên tục thấy những thứ nên có trong đó nhưng lại bị thiếu và ngược lại (tệ hơn) ). Rõ ràng, tôi sẽ không bận tâm theo dõi / nhận xét về thứ gì đó rõ ràng được duy trì rất tệ để bắt đầu :) - Tôi chỉ đơn giản là từ bỏ và viết một .gitignore hoạt động thay thế, và chia sẻ nó trên StackOverflow
Adam

2
Cocoapods đề nghị suy nghĩ hai lần về việc bỏ qua Pods: guide.cocoapods.org/USE/ ,?
ericsoco

3
Để biết giá trị của nó, tôi đã dành một thời gian để nghiên cứu các tệp .gitignore khác nhau của Xcode & Cocoapods và cái này có vẻ phù hợp nhất với tôi. Thư mục Pods bị bỏ qua một cách chính xác, vì nó là trạng thái cuối được tạo. Ngoài ra, tệp Podfile.lock được bao gồm, cung cấp siêu dữ liệu có giá trị về trạng thái của bản dựng trong các lần xác nhận khác nhau.
Matt Vukas

4
.idea/chỉ cần người sử dụngAppCode
Wanbok Choi

57

Nếu bạn đang tạo một dự án mới từ đầu trong Xcode 6 ... thì không cần phải có tệp .gitignore dài nữa, như tôi đã chỉ ra trong bài viết trước của mình : Apple đã tối ưu hóa cấu trúc thư mục và tệp dự án tiêu chuẩn để đáp ứng các yêu cầu cho rõ ràng và thẳng tiến git cam kết. Apple cũng bỏ qua hai mẫu tệp theo mặc định nếu bạn tạo kho git bằng mẫu dự án Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Họ đã thêm chúng vào .git/info/excludestập tin của bạn trong thư mục dự án của bạn. Vì vậy, không cần phải bỏ qua chúng trong .gitignore :-)

Điều duy nhất tôi luôn bao gồm trong một .gitignoretập tin là

# Exclude personal Xcode user settings
xcuserdata/ 

2
Bạn có phiền khi đặt dòng thứ ba vào phần trên cùng không, vì vậy tôi không phải sao chép hai lần mỗi khi tôi trả lời câu hỏi này? Tôi hy vọng nó cũng nhận được 133 lượt upvote!
Dan Rosenstark

3
@Yar ... như tôi đã mô tả ở trên: dòng duy nhất bạn cần trong tệp .gitignore của bạn là loại trừ xcuserdata /. Hai dòng khác đã được Apple xử lý theo mặc định. Vì vậy, không cần phải sao chép ba dòng đó vào tệp .gitignore của bạn.
mật mã

1
Oh! Ồ Đó thực sự là thứ tôi có thể gõ bằng tay. Tuyệt vời, cảm ơn vì đã chia sẻ và chúc may mắn ở đây trên SO.
Dan Rosenstark 16/1/2015

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.