programing

실수로 .idea 디렉터리 파일을 git에 커밋했습니다.

testmans 2023. 5. 15. 21:23
반응형

실수로 .idea 디렉터리 파일을 git에 커밋했습니다.

제가 실수로 그 일을 저질렀습니다..idea/git로 디렉토리를 지정합니다.이로 인해 레포를 확인해야 하는 다른 모든 곳에서 충돌이 발생하고 있습니다.리모콘에서 이 파일들을 어떻게 제거하는지 궁금합니다.

이 파일들은 Intellij IDE에서 필요로 하기 때문에 여전히 로컬에서 필요합니다.그들이 원격지에 있는 것을 원하지 않습니다.디렉터리를 추가했습니다..idea/나에게.gitignore이 파일을 원격으로 커밋하고 푸시했습니다.하지만 다른 기계에서 체크아웃을 하는 동안에는 아무 영향이 없는 것 같습니다.여전히 오류 메시지가 표시됩니다.

error: The following untracked working tree files would be overwritten by checkout:
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/uiDesigner.xml
.idea/vcs.xml
.idea/workspace.xml

무시된 파일 목록에 .idea 디렉터리 추가

먼저 에 추가합니다..gitignore따라서 사용자(또는 다른 사람)에 의해 실수로 다시 저지르지 않습니다.

.idea

리포지토리에서 제거

둘째, 디렉토리를 리포지토리에서만 제거하고 로컬에서 삭제하지 마십시오.이를 위해 다음과 같은 작업을 수행합니다.

로컬 파일 시스템에서 파일을 삭제하지 않고 Git 저장소에서 파일 제거

다른 사용자에게 변경사항 전송

셋째, 커밋합니다..gitignore파일 및 제거.idea저장소에서.그런 다음 원격으로 밀어 넣습니다.

요약

전체 프로세스는 다음과 같습니다.

$ echo '.idea' >> .gitignore
$ git rm -r --cached .idea
$ git add .gitignore
$ git commit -m '(some message stating you added .idea to ignored entries)'
$ git push

(선택적으로 마지막 줄을 다음으로 바꿀 수 있습니다.git push some_remote,어디에some_remote푸시하려는 원격의 이름입니다.)

레포에서 제거하고 변경을 커밋할 수 있습니다.

git rm .idea/ -r --cached
git add -u .idea/
git commit -m "Removed the .idea folder"

그런 다음 원격으로 푸시하면 모든 체크아웃/클론이 정상입니다.

마스터 분기에서 이 작업을 수행하는 것이 좋습니다.

.gitignore 파일을 편집합니다.그 안에 아래 행을 추가합니다.

.idea

원격 repo에서 .idea 폴더를 제거합니다.아래 명령을 사용합니다.

git rm -r --cached .idea

자세한 내용은.참조:실제로 파일을 삭제하지 않고 Git 저장소에서 파일 제거

Stage .gitignore 파일입니다.아래 명령 사용

git add .gitignore

저지르다

git commit -m 'Removed .idea folder'

원격으로 푸시

git push origin master

만약 당신이 노력하지 않았다면.

git rm .idea/ -r --cached
git add -u .idea/
git commit -m "Removed the .idea folder"

"gitrm .vm/ -r --vmdk"가 "vmdk:pathspec '.vmdk'가 어떤 파일과도 일치하지 않음" 오류를 던지고 이미 .vmdk가 있는 git를 푸시합니다.

git push origin --delete remoteBranchName
git add . //Everything is up to date
git commit -m "Removed the .idea folder" //Nothing to commit
git push origin remoteBranchName

.gitignore 파일을 프로젝트에 추가하고 추가해야 합니다./.idea각 디렉터리/파일을 한 줄로 추가해야 합니다.

만약 당신이 기존의 .gitignore 파일을 가지고 있다면, 당신은 그 파일에 새로운 줄을 추가하고, 그 파일을 저장해야 합니다./.idea새 노선으로

후에 행실후후▁after실git rm -r --cached .idea지휘권

하면 오가발경실수있다니습할행우를 할 수 .git rm -r -f --cached .idea지권휘국 .git add .그리고 나서.git commit -m "Removed .idea directory and added a .gitignore file"그리고 마지막으로 실행함으로써 변화를 추진합니다.git push지휘권

이 문제가 반복되는 것을 방지하기 위해, 저는 다음을 포함하는 글로벌 gitignore 파일을 갖는 것이 유용하다고 생각했습니다..idea항목:

$ echo '.idea' >> ~/.gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global

방식의 또IDE의 로 "입니다. 할 수도 . IDE의 .gitignore 파일을 .gitignore 파일로 추가할 수도 있습니다..idea프로젝트의 목적대로.gitignore프로젝트의 다른 기여자들이 문제를 일으키지 않도록 하기 위해서입니다.

언급URL : https://stackoverflow.com/questions/11124053/accidentally-committed-idea-directory-files-into-git

반응형