Tôi đang ở trong trại của các nhà phát triển, những người không kiểm tra thư viện, cho rằng chúng tôi có sẵn một bản sao tốt ở một vị trí khác. Vì vậy, trong .gitignore của tôi, tôi bao gồm các dòng sau dành riêng cho CocoaPods:
Pods/
#Podfile.lock # changed my mind on Podfile.lock
Sau đó, tôi đảm bảo rằng chúng tôi có một bản sao của các thư viện ở một vị trí an toàn. Thay vì (mis-) sử dụng kho lưu trữ mã của dự án để lưu trữ các phụ thuộc (được biên dịch hay không) Tôi nghĩ cách tốt nhất để làm điều này là lưu trữ các bản dựng. Nếu bạn sử dụng máy chủ CI cho các bản dựng của mình (chẳng hạn như Jenkins), bạn có thể lưu trữ vĩnh viễn mọi bản dựng quan trọng đối với bạn. Nếu bạn thực hiện tất cả các bản dựng sản xuất trong Xcode cục bộ của mình, hãy tạo thói quen lấy một kho lưu trữ dự án của bạn cho bất kỳ bản dựng nào bạn cần giữ. Một cái gì đó như: 1. Sản phẩm -> Lưu trữ
Phân phối ... Gửi tới Cửa hàng ứng dụng iOS / Lưu cho doanh nghiệp hoặc triển khai đặc biệt / những gì có bạn
Hiển thị thư mục dự án của bạn trong Finder
Nhấp chuột phải và nén "AnyProject"
Điều này cung cấp một hình ảnh được xây dựng cho toàn bộ dự án, bao gồm các cài đặt dự án và không gian làm việc hoàn chỉnh được sử dụng để xây dựng ứng dụng cũng như các bản phân phối nhị phân (như Sparkle, SDK độc quyền như TestFlight, v.v.) cho dù họ có sử dụng CocoaPods hay không.
Cập nhật: Tôi đã thay đổi suy nghĩ về điều này và bây giờ cam kết Podfile.lock
kiểm soát nguồn. Tuy nhiên, tôi vẫn tin rằng chính các nhóm này là các tạo phẩm xây dựng và nên được quản lý như vậy ngoài tầm kiểm soát nguồn, thông qua một phương pháp khác như máy chủ CI của bạn hoặc quy trình lưu trữ như tôi mô tả ở trên.