2012-08-09 26 views
5

Tôi có một ứng dụng grails trên máy cục bộ của mình và tôi đã tạo một kho lưu trữ trong XP-DEV. Tôi có các thư mục .groovy.settings trong thư mục gốc của dự án. Tôi có cần phải cam kết các tệp đó vào kiểm soát phiên bản không? Tôi hỏi câu hỏi này bởi vì tôi không biết sử dụng những thư mục này là gì.Tôi có cần phải cam kết thư mục .groovy và .settings để lưu trữ

Trả lời

10

Cập nhật

5 năm kinh nghiệm phát triển sau đó và tôi nghĩ rằng tôi cần phải đi ngược lại ý kiến ​​ban đầu của tôi một chút. Tôi vẫn nghĩ rằng nói chung, những tập tin này không nên được bao gồm trong kiểm soát nguồn.

Tuy nhiên, có một số cài đặt nhất định thuận tiện để chia sẻ giữa các nhà phát triển. Vấn đề là rất khó để biết cài đặt nào cần chia sẻ và cài đặt nào không chia sẻ. Ví dụ: bất kỳ cài đặt nào có đường dẫn tuyệt đối trong nó sẽ không được chia sẻ; nhưng làm thế nào để bạn biết nếu cấu hình của bất kỳ công cụ cụ thể nào (ví dụ: Eclipse, IntelliJ, v.v ...) có chứa đường dẫn tuyệt đối không?

Nếu bạn đang sử dụng git để kiểm soát phiên bản, github xuất bản rất nhiều mẫu .gitignore cho các công cụ khác nhau github/gitignore. Nếu bạn muốn thử cài đặt chia sẻ, tôi khuyên bạn nên sử dụng một trong các mẫu này.

Nếu những mẫu đó không phù hợp với bạn, tôi đứng trước đề xuất ban đầu của tôi về việc không kiểm tra các cài đặt này trong điều khiển phiên bản và cho phép chúng được tạo tự động. Sau đó, nếu có các cài đặt quan trọng cần chia sẻ (như mẫu mã hoặc một số mẫu như vậy), hãy cung cấp hướng dẫn về cách áp dụng cài đặt đó cho tất cả các môi trường phát triển dự kiến.


gốc trả lời:

.settings thường được tạo ra bởi bất cứ điều gì IDE bạn đang sử dụng (Tôi biết Eclipse sử dụng Công ước này) và chứa các thiết lập dự án cụ thể đối với các IDE với.

.groovy chứa cài đặt dành riêng cho người dùng để tìm kiếm. Ví dụ, tôi biết Grape tải xuống các phụ thuộc vào thư mục .groovy.

Ý kiến ​​của tôi là, không được cam kết các thư mục này. Nếu một người khác kiểm tra dự án của bạn, bản sao cá nhân của riêng họ của các thư mục này sẽ được tạo tự động.

+2

Tôi có thể nói rằng đây là _strong_ không. Cam kết những người chỉ cần thêm lộn xộn và không có giá trị. – cdeszaq

+1

Vui lòng xem câu trả lời của tôi. Tôi không đồng ý. –

9

Tôi không đồng ý với câu trả lời từ @FGreg. Thư mục .settings chứa các thiết lập cụ thể của dự án. Điều này bao gồm cài đặt trình biên dịch tùy chỉnh, lỗi và mức cảnh báo, tùy chọn định dạng, lưu hành động, v.v. Nói chung, bạn nên chia sẻ các tùy chọn này trên các nhà phát triển. Nếu các cài đặt này không được chia sẻ, thì bạn có thể bị mâu thuẫn trong các vấn đề về định dạng và trình biên dịch.

Nói chung, nếu bạn muốn có môi trường phát triển nhất quán cho bất kỳ nhóm nào, bạn sẽ cần đưa các thư mục cài đặt vào kiểm soát phiên bản.

Thư mục .groovy bên trong Groovy-Eclipse được sử dụng cho thông tin DSL và đề xuất hội nghị cụ thể theo dự án. Nói chung, nếu bạn có thông tin hội thảo cụ thể của dự án, bạn sẽ muốn chia sẻ thông tin này với những người khác trên cùng một dự án.

Trong nhóm của chúng tôi, chúng tôi xác định rõ ràng tất cả các cài đặt sẽ được sử dụng bởi từng dự án, cam kết thư mục .settings và chúng tôi được đảm bảo rằng mọi nhà phát triển đều thấy cùng cài đặt.

2

Theo ý kiến ​​khiêm tốn của tôi, việc cam kết tệp dự án IDE là ý tưởng tồi. Nếu bạn có cấu hình cụ thể để làm bạn nên cấu hình của bạn quạ, gradle, ant hoặc bất cứ điều gì để tạo ra các cấu hình chính xác.

Có một danh sách các vấn đề tôi đã thấy

  • dự án của bạn có thể sẽ được cụ thể IDE.
  • Bạn sẽ có sự khác biệt giữa phát triển và tích hợp. Bạn sẽ phát hiện các vấn đề sau này.
  • Tệp cấu hình của bạn IDE phụ thuộc vào phiên bản IDE và trên plugin đã cài đặt.
  • Mọi người phạm sai lầm (đó là lý do chúng tôi kiểm soát nguồn) một số tệp sẽ được cam kết với cấu hình sai.

Nếu bạn chọn cam kết tệp này, hãy nhớ rằng bạn sẽ phải thực hiện thêm một số công việc thủ công để đảm bảo rằng các tệp chính xác được cam kết. Nhưng nếu bạn cấu hình đúng công cụ xây dựng, bạn sẽ chỉ thực hiện công việc một lần. ;)

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