Dự án đang sử dụng Maven để tệp POM là nguồn thông tin dự án chính. Có một số thiết lập hữu ích trong các tập tin dự án mà sẽ được tốt đẹp để giữ.Thực hành tốt nhất cho IntelliJ IDEA 9 + Maven + Kiểm soát phiên bản
OTOH IDEA dường như tạo quá nhiều thay đổi dự phòng trong cấu trúc tệp dự án gây ô nhiễm lịch sử SVN và đôi khi tạo xung đột.
Tôi có nên giữ thư mục .idea và các tệp * .iml trong điều khiển phiên bản không? đầy đủ? một phần?
Cập nhật: Vì vậy, việc thực hành tốt nhất mà tôi đã tìm thấy làm việc cho tôi và đội của tôi là cho đến nay:
- Kiểm tra trong tất cả các file IDEA, * .iml và .idea thư mục. Chúng chứa thông tin giá trị và đó là một sự lãng phí thời gian để tái tạo nó mỗi lần bạn cập nhật.
- Tạo chi nhánh riêng cho mỗi nhà phát triển
- cd vào thư mục .idea
- svn chuyển nó đến chi nhánh của nó đối tin
- Không kiểm tra trong các tập tin IDEA trên cam kết thường xuyên - họ làm ô nhiễm lịch sử. Kiểm tra chúng trong các cam kết đặc biệt.
Bằng cách này, bạn giữ nội dung của thư mục .idea trong kiểm soát phiên bản nhưng vẫn giữ nguyên nội dung của cam kết thông thường. Bất kỳ nhà phát triển nào đều có thể truy cập vào các thư mục IDEA của bất kỳ ai khác.
Cập nhật 2: Kể từ khi câu hỏi này được viết ra, tôi đã thay đổi thói quen của tôi để không check-in bất kỳ tập tin IntelliJ vào kiểm soát phiên bản, như cố vấn bởi nhiều phản ứng. Đây là thực hành hiện tại của tôi cho cả Maven và Gradle. Các công cụ đã phát triển đến mức mà thông tin quan trọng luôn có thể được sao chép từ các tệp .POM hoặc .gradle gốc. Khi các tập tin thay đổi, IDE theo dõi các thay đổi đáng tin cậy để bạn không bị mất các tập tin IDE của bạn thường xuyên như vậy mà không cần phải kiểm tra chúng.
Cập nhật 3: 7 năm sau khi đặt câu hỏi này có vẻ là vẫn có liên quan. Các phương pháp hay nhất tương tự cũng áp dụng cho Gradle (có thể là SBT): không kiểm tra các tệp IDE trong, tạo lại chúng khi cần thiết từ tệp POM, .gradle hoặc SBT cơ bản.
Cảm ơn mọi người đã đề xuất của bạn. Trong khi đó, thực hành tốt nhất của tôi là kiểm tra các tập tin IDEA trong nhưng như là một changeset riêng biệt để nó sẽ không làm hỏng lịch sử SVN xấu. Tôi thường cung cấp cho các changesets tên "IDEA điên rồ" :-) –
xem http://stackoverflow.com/questions/3041154/intellij-idea-9-10-what-folders-to-check-into-or-not- check-in-source-contro -> IDEA FAQ: http://devnet.jetbrains.com/docs/DOC-1186 –
@MatthewCornell có lẽ nâng cấp nhận xét của bạn để trả lời? –