IT박스

Git이 Rubymine에 의해 생성 된 .idea 파일을 무시하게하는 방법

itboxs 2020. 6. 1. 19:27
반응형

Git이 Rubymine에 의해 생성 된 .idea 파일을 무시하게하는 방법


저는 Rails 프로젝트에 Rubymine을 사용합니다. 루비 마인은 종종 .idea/*관심없는 파일을 변경 합니다. 그러나 새 지점을 확인하지 .idea/못하게하고 동료 다른 버전을 만듭니다 .

우리는 이미 추가 .idea/.gitignore, 그러나에 변경 내용 추적을 유지합니다 .idea. 올바른 방법으로 어떻게해야합니까?

아래는 내가받은 일반적인 오류 메시지 중 하나입니다.

error: Your local changes to the following files would be overwritten by checkout:
    .idea/workspace.xml

그냥 .idea/나를 위해 잘 작동


git rm -r --cached .idea터미널에서 시도 하십시오. 변경 내용 추적을 비활성화합니다.


JetBrains는 "다른 개발자와 IDE 프로젝트 파일을 공유하기로 결정한 경우 ..."를 권장 하며 다음 세 파일을 제외한 모든 .idea/*파일을 추적 합니다 .

  • workspace.xml
  • usage.statistics.xml
  • tasks.xml

따라서 그들의 조언을 따르기 위해,이 3 개의 파일을 .gitignore에 추가 할 것입니다.


출처:

IDE 프로젝트 파일을 다른 개발자와 공유하기로 결정한 경우 다음 지침을 따르십시오.
...
공유해야 할 내용은 다음과 같습니다.

  • 사용자 특정 설정을 저장 하는 workspace.xml , usage.statistics.xmltasks.xml 파일을 제외한 프로젝트 루트의 .idea 디렉토리에있는 모든 파일
  • ...

버전 관리 시스템 ( archive ) 에서 프로젝트를 관리하는 방법

이 페이지에는 다른 특정 jetbrains IDE 및 빌드에 대해 다른 파일을 기각 할 수있는 추가 정보가 있습니다.


.idea/*모든 .idea 파일, 디렉토리 및 하위 리소스를 추적하지 못하도록 제외 목록에 추가하십시오 .


파일이 이미 Git에 의해 추적되고 있다면 파일을 .gitignore에 추가해도 Git이 파일을 추적하는 것을 막을 수는 없습니다. 먼저 문제가되는 파일을 git rm으로 실행 한 다음 .gitignore에 추가해야합니다.

.idea / 추가하면 작동합니다


git rm -r --cached .idea터미널에서 사용 하면 나에게 큰 도움이되었습니다. 변경 추적을 비활성화하고 rubymine 폴더 (idea /) 아래에 많은 파일을 설정 해제하여 git에 추가하고 커밋 할 수 있으므로 비교를 제거하고 gitignore 설정 .idea/을 작동시킬 수 있습니다.


터미널에서 PHP Storm을 닫고 프로젝트 폴더 유형으로 이동하십시오.

git rm -rf .idea; git commit -m "delete .idea"; git push;

그런 다음 프로젝트 폴더로 이동하여 폴더를 삭제하십시오.

sudo rm -r .idea/

PhpStorm을 시작하면 완료


rubymine gui에는 무시 목록 (설정 / 버전 제어)이 있습니다. 어쩌면 거기에서 비활성화하십시오. 나는 그들의 지지자들로부터 힌트를 얻었다.

여기에 이미지 설명을 입력하십시오


~ / .gitignore_global에 .idea를 추가하고 여기 지침에 따라 .gitignore_global을 작동 시키십시오.

힘내 글로벌 작동하지 않습니다 무시

그런 다음 개별 .gitignore 파일에 추가하지 않아도됩니다.


저에게는 ".idea"를 사용하여 커밋 파일 .gitignore보다 .idea 폴더를 제거하고 IDE를 다시 사용하는 솔루션이 하나뿐이었습니다.


나는 git man 페이지읽고 어떻게 무시 하는지를 완전히 이해하는 것이 좋으며, 앞으로는 나에게 감사 할 것이다.)

문제와 관련하여 :

Two consecutive asterisks ("**") in patterns matched against full pathname may have special meaning:

A leading "**" followed by a slash means match in all directories. For example, "**/foo" matches file or directory "foo" anywhere, the same     as pattern "foo". "**/foo/bar" matches file or directory "bar" anywhere that is directly under directory "foo".

A trailing "/**" matches everything inside. For example, "abc/**" matches all files inside directory "abc", relative to the location of the .    gitignore file, with infinite depth.

A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example, "a/**/b" matches "a/b", "a/x/b",     "a/x/y/b" and so on.

Other consecutive asterisks are considered invalid.

나는 그 파일을 내 파일에 추가하려고 시도했지만 .gitignore쓸모가 없었습니다 ...

Nevertheless, as Petr Syrov said, you can use git rm -r --cached .idea into your terminal and those files won't be a problem anymore!


JetBrains has a .gitignore_global on GitHub.


You may use gitignore for advanced gitignore file generation. It's fast, easy and cutting edge tags are automatically generated for you.

Use this link for most of jetbrains softwares (intelij, phpstorm...) jetbrains .gitignore file

[edit]

Below is the generated gitignore file for Jetbrains Softwares, this will prevent you from sharing sensitive informations (passwords, keystores, db passwords...) used by any of Jetbrains software to manage projects.

# Created by https://www.gitignore.io

### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

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

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

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

Generated code is also well commented. hope it helps :)


What about .idea/* ? Didn't test, but it should do it


Use .ignore plugin: https://plugins.jetbrains.com/plugin/7495--ignore

It manages a lot of paths/patterns for you automatically and also has many useful extra features. It's compatible with:

  • IntelliJ IDEA
  • PhpStorm
  • WebStorm
  • PyCharm
  • RubyMine
  • AppCode
  • CLion
  • GoLand
  • DataGrip
  • Rider
  • MPS
  • Android Studio

While it's not been too long that I made the switch to Rubymine, I found it challenging ignoring .idea files of Rubymine from been committed to git.

Here's how I fixed it

If you've not done any staging/commit at all, or you just spinned up a new project in Ruby mine, then simply do this

Option 1

Add the line below to the .gitignore file which is usually placed at the root of your repository.

# Ignore .idea files
.idea/

This will ensure that all .idea files are ignored from been tracked by git, although they will still remain in your project folder locally.

Option 2

If you've however done some staging/commit, or you just opened up an existing project in Ruby mine, then simply do this

Run the code in your terminal/command line

git rm -r --cached .idea

This deletes already tracked .idea files in git

Next, include .idea/ to the .gitignore file which is usually placed at the root of your repository.

# Ignore .idea files
.idea/

This will ensure that all .idea files are ignored from been tracked by git, although they will still remain in your project folder locally.

Option 3

If you've however done some staging/commit, or you just opened up an existing project in Ruby mine, and want to totally delete .idea files locally and in git, then simply do this

Run the code in your terminal/command line

git rm -r --cached .idea

This deletes already tracked .idea files in git

Run the code in your terminal/command line

rm -r .idea

This deletes all .idea files including the folder locally

Next, include .idea/ to the .gitignore file which is usually placed at the root of your repository.

# Ignore .idea files
.idea/

This will ensure that all .idea files are ignored from been tracked by git, and also deleted from your project folder locally.

That's all

이게 도움이 되길 바란다


Windows에서. .idea 폴더를 숨기십시오. 힘내는 나머지를 돌볼 것입니다.

참고 : https://stackoverflow.com/questions/9550437/how-to-make-git-ignore-idea-files-created-by-rubymine

반응형