.idea / workspace.xml을 무시할 수 없음-계속 팝업


237

PHPStorm workspace.xml을 사용하여 git commit을 시도 할 때마다 팝업되는 것을 무시 하려고합니다.

.gitignore모습은 :

/.idea/
.idea/workspace.xml

파일이 커밋 된 시점에서 나는 또한 다음을 실행했다.

git rm --cached .idea/workspace.xml 그런 다음 제거를 커밋하고 베어 리포지토리로 푸시했습니다.

그러나 프로젝트에서 변경을 수행하면 나중에 파일이 계속 나타납니다.

내가 잃어버린 것에 대한 아이디어가 있습니까?


아래의 모든 것을 시도하고 gitignore에 추가했지만 여전히 gitignore를 무시하고 계속 돌아옵니다.
Olaf

이 같은 질문 처럼 보인다 . 그것을 확인하고 참조하십시오 ...
Luca Ballore

이 링크를 첵 아웃 : stackoverflow.com/questions/8156299/...를 . 같은 문제인 것 같습니다.
Luca Ballore

답변:


288

나는 같은 문제에 직면하고 있었고, 그것은 나를 벽으로 이끌었다. 문제는 .idea 폴더가 이미 리포지토리에 이미 커밋되어 있기 때문에 무시했는지 여부에 관계없이 git에 의해 추적되고 있다는 것입니다. RubyMine / IntelliJ 또는 사용중인 IDE를 닫은 후 다음을 권장합니다.

mv .idea ../.idea_backup
rm .idea # in case you forgot to close your IDE
git rm -r .idea 
git commit -m "Remove .idea from repo"
mv ../.idea_backup .idea

gitignore에서 .idea를 무시해야합니다.

리포지토리의 .gitignore에서 무시해도 충분하지만 IDE의 도트 파일을 전역 적으로 무시하는 것이 좋습니다.

그렇지 않으면 작업중 인 모든 프로젝트의 모든 .gitgnore에 추가해야합니다. 또한 다른 사람들과 공동 작업하는 경우 프로젝트의 소스 코드에 고유하지 않은 개인 구성으로 프로젝트의 .gitignore를 오염시키지 않는 것이 가장 좋습니다.


git 오류를 피하기 위해 마지막 명령은 "git mv ../.idea_backup .idea"대신 "mv ../.idea_backup .idea"여야합니다.
Leo Caseiro

2
나는 일을하는 git rm .idea대신에 git add .idea해야한다
Serge

나는 또한 변화 add에 대한 rm하지만 내 경우에는 내가 추가했다 -r재귀 적으로 모두 제거 할뿐만 아니라. git rm -r .idea
jmendiola

2
우와, 고마워요!! 이 백만 가지 방법을 사용해 보았습니다. 이것은 올바른 단계별 접근 방식입니다. 내가 빠진 주요 차이점은 내 IDE가 닫혀 있는지 확인하는 것이 었습니다. 그 단계를 놓치지 마십시오! 탁월한 답변 :)
Jonny Asmar

감사! 작업 솔루션을 찾는 데 많은 시간을 보냈으며 몇 가지를 시도했습니다. 이것이 가장 간단한 방법입니다.
edepe

83

내가해야 할 일을했을, 지금이 문제를했다 git rm -f .idea/workspace.xml 가 사라질 것으로 보인다 지금 (나는 또한에 넣어했다 .gitignore)


7
또한이 단계를 수행 할 때 아이디어 정보를 닫아야한다는 정확성을 위해서만 추가하겠습니다.
LoreV

29

나는해야했다 :

  • 자식에서 파일을 제거
  • 커밋을 모든 리모컨에 푸시
  • 다른 모든 커미터가 원격에서 업데이트되었는지 확인하십시오.

명령

git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all

다른 커미터는 실행해야합니다

git pull

7
이 답변이 기쁘지만 단계를 수행하는 방법에 대한 지침 (예 : 명령 줄 지시문)이 포함되어 있으면 더 유용 할 것입니다.
flyingace 2019

이 링크를 첵 아웃 : stackoverflow.com/questions/8156299/...를 . 정확히 같은 문제처럼 보입니다.
Luca Ballore

IDE 종료 \ n git rm -f .idea / workspace.xml \ n git commit -m "removeing ​​workspace.xml"\ n .gitignore를 제거하여 workspace.xml을 제외합니다. \ n IDE를 엽니 다
Srneczek

27

파일이 나타나는 동일한 디렉토리에서 다음을 수행하십시오.

  • rm .idea/workspace.xml
  • git rm -f .idea/workspace.xml (as suggested by chris vdp)
  • vi .gitignore
  • i(수정하려면) .idea/workspace.xml행 중 하나를 추가하십시오 Esc.:wq

당신은 지금 잘해야합니다


2
또는 행을 .gitignore에 추가하려면을 입력하십시오 echo .idea/workspace.xml>>.gitignore. 모든 것을 위해 vi를 열 필요는 없습니다. 또는 .idea 디렉토리에 별도의 .gitignore 파일을 추가하는 것이 좋습니다.echo workspace.xml>>.idea/.gitignore
Godsmith

17

IDE 구성에 영향을 미치지 않고.idea/ git에서 완전히 제거하려면 다음을 수행하십시오.

git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -am "removed .idea/ directory"

6

당신이있는 경우 여러 프로젝트를 당신의 자식의 repo에, .idea/workspace.xml모든 파일에 일치하지 않습니다.

대신 다음을 수행하십시오.

$ git rm -f **/.idea/workspace.xml

그리고 .gitignore를 다음과 같이 보이게하십시오.

# User-specific stuff:
**/.idea/workspace.xml
**/.idea/tasks.xml
**/.idea/dictionaries
**/.idea/vcs.xml
**/.idea/jsLibraryMappings.xml

# Sensitive or high-churn files:
**/.idea/dataSources.ids
**/.idea/dataSources.xml
**/.idea/dataSources.local.xml
**/.idea/sqlDataSources.xml
**/.idea/dynamic.xml
**/.idea/uiDesigner.xml

## File-based project format:
*.iws

# IntelliJ
/out/

5

git에게 변경되지 않는다고 가정하지 말라고 알려주십시오.

git update-index --assume-unchanged src/file/to/ignore

예, git 저장소에서 파일을 제거 할 수 있습니다. 그러나 팀이 모두 같은 IDE를 사용하거나 혼자있는 경우에는 그렇게하고 싶지 않을 것입니다. 스스로도 팀원들에게도 일을 재개 할 수있는 좋은 출발점이 되길 원합니다.


0

IntelliJ를 기반으로하는 Android Studio에서 수행 한 방식은 다음과 같습니다. 커밋 대화 상자에서 workspace.xml의 변경 사항을 되돌리고 버전이없는 파일로 이동했습니다. 그 후 커밋 대화 상자에서 이것을 삭제했습니다. 이제 변경 목록에 나타나지 않습니다. 내 gitignore는 이미 .idea / workspace.xml을 포함하고 있습니다.


0

내 경우에는 이후는 먼저 프로젝트의 커밋 수행 간단하게 삭제했다 .git.idea폴더 후 사용하여 자식을 다시 초기화 git init문제를 해결하는 데 도움이. 지금은 전혀 없습니다 .idea.


0

PHPStorm과 동일한 문제

마지막으로 다음을 수행하여 해결했습니다.

  • .idea /를 제거하십시오 디렉토리를
  • 이동 .gitignore를 새로운 생성 될 것 같은 수준으로 .idea /
  • 무시해야 할 파일과 .idea / 도 작성하십시오. 무시되도록하려면 다음을 입력하십시오.

    • .생각/
    • .생각
    • .생각/*

왜 이런 식으로 작동하는지 모르겠습니다. .gitignore 가이 디렉토리를 무시하려면 .idea 와 동일한 수준 이어야 합니다.


-1

으로 끝나는 파일과 .gitignore 참조.iwsworkspace.xmltasks.xml파일은 무시하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.