팀원 모두가 IntelliJ IDEA를 사용하고 있으며, 빌드 구성, 설정 및 검사를 공유 할 수 있도록 프로젝트 파일 (.ipr 및 .iml)을 소스 제어에 넣는 것이 유용하다는 것을 알게되었습니다. 또한 TeamCity와 함께 지속적 통합 서버에서 이러한 검사 설정을 사용할 수 있습니다. (우리는 소스 제어가 아닌 .gitignore 파일에 사용자 별 작업 공간 .iws 파일이 있습니다.)
그러나 이러한 파일은 IDEA에서 거의 모든 작업을 수행 할 때 거의 변경되지 않습니다. IDEA의 문제 데이터베이스 ( IDEA-64312 )에 문제 가 있으므로이 버그를 IDEA의 버그로 간주 할 수 있지만 가까운 장래에 우리가 함께 살아야 할 문제입니다.
최근까지 Subversion을 사용했지만 최근에 Git으로 전환했습니다. 우리는 무시하고 다른 사람들과 공유하고 싶은 프로젝트 파일 변경 사항이 있지 않는 한 체크인하지 않은 프로젝트 파일의 변경 목록에 익숙해졌습니다. 그러나 Git을 사용하면 실제 힘은 (우리가 탐구하는 것에서) 장려하는 연속 분기 인 것처럼 보이며 분기 간 전환은 프로젝트 파일이 항상 수정 되었기 때문에 고통입니다. 종종 어떻게 든 변경 사항을 병합 할 수 있으며 현재 새 분기에 적용되는 프로젝트 파일 변경 사항을 처리하려고합니다. 그러나 새 브랜치가 프로젝트 파일을 변경 한 경우 (예 : 브랜치가 아직 다른 브랜치에없는 새 모듈에서 작업 중임) git은 그렇지 않다는 오류를 던집니다. 두 가지가 모두 변경되고 로컬로 변경된 경우 파일을 병합하는 것이 합리적이며 그 요점을 이해할 수 있습니다. 명령 줄에서 "git checkout"명령에 "-f"를 사용하여 로컬 변경 사항을 버리고 대신 브랜치를 사용하도록 할 수 있지만 (1) IDEA (10.5.1)의 Git Checkout GUI 명령 우리가 찾을 수있는 옵션이없는 것 같기 때문에 정기적으로 명령 줄로 전환해야합니다. (2) 우리는 그것을 사용하는 습관을 갖고 싶어하지 않습니다. 플래그를 지정하고 Git에 로컬 변경 사항을 버리도록 지시합니다.
그래서, 우리가이 문제를 다루어야 할 옵션에 대한 몇 가지 생각이 있습니다 :
나는 우리가 놓친 명백한 (또는 분명하지 않은) 해결책이 있기를 바라고 있으며 아마도 Git과 IDEA가 모두 가지고있는 것처럼 보이는 거대한 사용자 정의 가능성을 다루고 있습니다. 하지만 우리가이 문제를 안고있는 유일한 팀은 아닐 것 같습니다. 스택 오버플로에 가지 유사하다 질문을 포함 3,495,191 , 1,000,512 및 3,873,872 하지만 정확히 같은 문제가있는 한 나도 몰라, 어쩌면 누군가가 내가했습니다 다양한 접근 방식에 대한 장단점을 가지고 올 수 해당 질문에 대한 답변에 나열된 접근 방식 또는 권장하는 접근 방식.
설정이 .ipr 파일 대신 .idea 디렉토리에 저장되는 IDEA의 디렉토리 기반 프로젝트 구조를 사용할 수 있습니다 . 버전 제어에 저장되는 내용을보다 세밀하게 제어 할 수 있습니다. .iml 파일은 여전히 주변에 있으므로 임의의 변경 사항을 해결하지 못하지만 (아마도 소스 제어에서 벗어날 수 있습니까?) 코드 스타일 및 검사 프로필과 같은 항목을 공유하는 것은 쉽습니다. .idea 디렉토리의 자체 파일에 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다