online - Android Studio 프로젝트의.gitignore에 있어야 할 항목은 무엇입니까?




gitignore online (20)

.idea 폴더 ( workspace.xmltasks.xml 제외)의 커밋을 지원합니다. 하지만 .iml 파일을 무시해야한다는 결론에 도달하기 시작했습니다.

문제는 다음과 같습니다.

예를 들어 "foo"라는 디렉토리에서 프로젝트를 열면 foo.iml이 나타나고 모두 잘되고 잘된 것처럼 보입니다. 문제는 안드로이드 스튜디오에서 프로젝트를 열려고 할 때 디렉토리를 foo2 (또는 다른 디렉토리 이름으로 복제)로 이름을 바꾸면 다음 세 가지를 얻을 수 있다는 것입니다.

  • foo2.iml이라는 새로운 iml 파일
  • Android 프로젝트의 iml 파일이 부모로 foo2를 가리 키도록 변경됩니다.
  • .idea / modules.xml에는 foo2.iml에 대한 행이 추가되어 이전 iml 파일과 새 디렉토리에 대한 행을 모두 갖습니다.

프로젝트가 다른 디렉토리에 저장 될 때 안드로이드 스튜디오가이 iml 파일 생성을하지 못하게하는 방법이 없습니다. 그것들을 소스 컨트롤에 추가하면 문제가 발생할 것입니다. 그러므로 아마 .iml 파일과 .idea/modules.xml 무시해야한다고 생각합니다 .idea/modules.xml

Android Studio 프로젝트의 .gitignore 에 어떤 파일이 있어야합니까?

.iml 을 모두 포함하는 몇 가지 예제를 보았지만 IntelliJ 문서에서는 .iml 이 소스 제어에 포함되어야한다고 말합니다.


Android Studio 0.8.4부터 .gitignore 파일은 새 프로젝트를 시작할 때 자동으로 생성됩니다. 기본적으로 다음 항목이 포함됩니다.

.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
build/
/captures

나는이 문장에 동의하지만,이 파일을 변경 / build (/ build와 / app / build를 포함 할 것임)하도록 수정한다. 그래서 app / build의 모든 파일들로 끝나지 않는다.

또한 Eclipse에서 프로젝트를 가져 오는 경우 .gitignore가 복사되지 않거나 자동으로 작성된다는 점에 유의하십시오.


Android Studio 3.0 프로젝트의 경우 다음을 사용하십시오.

.gitignore

.gradle
.idea
*.iml
gradle.properties
local.properties
.DS_Store
build

Gradle 프로젝트 폴더

저장소 복제 후 (Gradle) 프로젝트 폴더에 있어야하는 유일한 방법은이 구조입니다 (적어도 지금까지 발생한 사용 사례의 경우).

/app
/gradle
.gitignore
build.gradle
build.properties
gradlew
gradle.bat
settings.gradle

Android Studio의 경우 버전 제어에 저장해야하는 파일은 gradle을 사용하여 명령 줄에서 애플리케이션을 빌드하는 데 필요한 파일뿐입니다. 따라서 무시할 수 있습니다.

  • * .iml
  • .생각
  • 짓다

그러나 사용자 정의 코드 스타일 설정과 같은 IDE 설정을 저장하면 .idea 폴더에 저장됩니다. 버전 제어에서 이러한 변경 사항을 원한다면 IDEA 파일도 저장할 수 있습니다 (* .iml 및 .idea).


기본적으로 자동으로 재생성되는 모든 파일.

좋은 시험은 repo를 복제하고 Android Studio가 프로젝트를 즉시 해석하고 실행할 수 있는지 (누락 된 것을 생성하는지) 확인하는 것입니다.
그렇지 않은 경우 누락 된 항목을 찾아 무시 하지 말고 repo에 추가하십시오.

즉, 안드로이드 와 같은 기존 .gitignore 파일을 예로들 수 있습니다.

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/

나는 .ima 파일을 추가하고 Intellij sez를 .idea 폴더를 추가하지만 .idea / workspace.xml과 .idea / tasks.xml을 무시하는 데 더 익숙하지만 .idea / libraries /는 어떨까요?

나는 이것이 이것을 어떻게 덧붙이는 것이 합리적인지 보지 못한다. 안드로이드 스튜디오 프로젝트가 알기로되어있는 라이브러리 목록을 담은 XML 파일리스트가있다. IDE 프로젝트 파일이 아니라 build.gradle 정의 된 종속성에서 오는 것으로 가정됩니다.

또한이 파일 중 하나의 내용은 다음과 같습니다.

<component name="libraryTable">
    <CLASSES>
       <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.example/example/etc...jar!"/>

이것을 저 지르지는 않습니다. 사용자가 gradle에 대해 다른 홈 디렉토리를 지정했거나 다른 gradle 버전을 사용하는 경우 .gradle/caches/artifacts-xxx 아래의 경로가 다릅니다 (즉, artifacts- 끝에 추가 된 숫자는 사용중인 gradle 버전의 릴리스와 관련이 있습니다.)이 경로는 보편적이지는 않지만 그래도이 모든 것을 확인하는 것이 좋습니다.



나는이 모든 대답에 동의하지 않습니다. 다음 구성은 Google 조직의 앱에 적합합니다.

나는 무시한다.

  • /build
  • /.idea (예외가있을 수 있음, dalewking의 답변에있는 주석 참조)
  • *.iml
  • local.properties

나는 거의 모든 사람들이 동의하고 있다고 생각한다.

Gradle이 /.idea 에서 생성하거나 삭제하는 다양한 library.xml 파일에 대한 메시지를 지속적으로 보게 /.idea . build.gradle 은 프로젝트를 처음 체크 아웃 할 때 개발자의 로컬에서 실행되므로 왜 XML 파일의 버전을 변경해야합니까? Android Studio는 개발자가 Check out from Version Control 사용하여 프로젝트를 /.idea/.idea 의 나머지 부분도 생성하므로 해당 폴더의 내용을 버전 관리해야하는 이유는 무엇입니까?

*.iml 버전이 *.iml 경우 새 사용자는 커밋되었을 때와 완전히 동일한 프로젝트 이름을 지정해야합니다. 또한 생성 된 파일이기 때문에 처음부터 버전을 지정해야하는 이유는 무엇입니까?

local.properties 파일은 SDK 용 파일 시스템의 절대 경로를 가리 키므로 버전을 지정하면 안됩니다.

편집 1 : .gradle 을 버전 관리하지 않아야하는 gradle 캐싱 .gradle 을 무시했습니다. ( Vasily Makarov에게 감사드립니다.)

편집 2 : Mac을 사용 .DS_Store 추가되었습니다. 이 폴더는 Mac에 고유하므로 버전을 지정하면 안됩니다 .

추가 참고 사항 : 릴리스 버전을 만들 때 서명 키를 넣을 디렉토리를 추가하는 것이 좋습니다.

복사 / 붙여 넣기의 편의성을 위해 :

.gradle
/build
/.idea
*.iml
local.properties
.DS_Store 

내 조언은 또한 .idea 폴더를 무시하지 않을 것입니다.

Git 기반 이클립스 프로젝트를 Android Studio에 가져 왔는데 괜찮았다. 나중에 Git (처음)과 같은이 프로젝트를 Android Studio가있는 다른 컴퓨터로 가져 오려고했지만 작동하지 않았습니다. Android Studio는 모든 파일을로드했지만 프로젝트를 프로젝트로 "볼"수 없었습니다. Git 파일 만 열 수 있습니다.

처음으로 이클립스에서 Android Studio로 프로젝트를 가져 오는 동안 내 오래된 .gitignore를 덮어 쓰고 새로운 것을 다음과 같이 보았습니다.

  • .idea / .name
  • .idea / compiler.xml
  • .idea / copyright / profiles_settings.xml
  • .idea / encodings.xml
  • .idea / libraries / libs.xml
  • .idea / misc.xml
  • .idea / modules.xml
  • .idea / scope / scope_settings.xml
  • .idea / vcs.xml
  • .idea / workspace.xml

그래서, 빈 gitignore를 사용하려고했는데 이제는 효과가있었습니다. 다른 Android Studio에서 파일과 프로젝트를로드 할 수 있습니다. 일부 파일은 중요하지 않습니다 (profiles_settings.xml) 힘내 및 가져 오기하지만 그것은 단지 행복하게 일한 것 같아요.


더 나은 아이디어를 얻으려면 다음 파일이 필요합니다.

  • build.gradle
  • settings.gradle

.gitignore 파일에 다른 모든 것을 넣을 수 있습니다. 모든 앱 변경 사항은 주로 이러한 파일과 폴더에 있습니다. 기본 프로젝트에서 볼 수있는 나머지 부분은 gradle 빌드 파일 또는 Android Studio 구성 파일입니다.

Android Studio를 사용하는 경우 "프로젝트 가져 오기"를 사용하여 프로젝트를 성공적으로 빌드 할 수 있습니다. 또는 명령 줄을 사용하여 빌드 할 수 있습니다. Android 프로젝트를 Gradle로 빌드하십시오 .


어딘가에서 미리 정의 된 (복사 / 붙여 넣기) 목록 때문에 어떤 이유로 Version Control이 작동하지 않을 때 알 수없는 부작용을 방지하기 위해 개발 시간을 통해 .gitignore 목록을 추가하는 것이 가장 좋습니다. 내 프로젝트 중 하나 인 경우 무시 목록은 다음 중 하나입니다.

.gradle
.idea
libs
obj
build
*.log

프로젝트 형식이 유지되는 방식에 따라 다릅니다.

두 가지 옵션이 있습니다.

  1. 디렉토리 기반 형식 (프로젝트 별 파일이 들어있는 .idea 폴더가 있음)
  2. 파일 기반 형식 (구성 파일은 .iws.ipr )

참고 : http://www.jetbrains.com/idea/webhelp/project.html

버전 제어를 위임 한 파일은 위의 내용에 따라 다릅니다.

  1. 버전 관리에 .idea 폴더 포함, workspace.xmltasks.xml 제외
  2. 버전 관리 .ipr 파일 및 모든 .iml 모듈 파일을 제외하고 .iws 파일은 사용자 별 설정을 저장 .iws 제외하십시오.

참조 : https://intellij-support.jetbrains.com/entries/23393067


.gitignore 에서 AndroidRate 라이브러리

# Copyright 2017 - 2018 Vorlonsoft LLC
#
# Licensed under The MIT License (MIT)

# Built application files
*.ap_
*.apk

# Built library files
*.aar
*.jar

# Built native files
*.o
*.so

# Files for the Dalvik/Android Runtime (ART)
*.dex
*.odex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

# Local configuration file (sdk/ndk path, etc)
local.properties

# Windows thumbnail cache
Thumbs.db

# macOS
.DS_Store/

# Log Files
*.log

# Android Studio
.navigation/
captures/
output.json

# NDK
.externalNativeBuild/
obj/

# IntelliJ
## User-specific stuff
.idea/**/tasks.xml
.idea/**/workspace.xml
.idea/dictionaries
## Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/dynamic.xml
.idea/**/sqlDataSources.xml
.idea/**/uiDesigner.xml
## Gradle
.idea/**/gradle.xml
.idea/**/libraries
## VCS
.idea/vcs.xml
## Module files
*.iml
## File-based project format
*.iws

github.com/github/gitignore 는 멋진 컬렉션입니다.

Android.gitignore

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches

# Keystore files
# Uncomment the following line if you do not want to check your keystore files in.
#*.jks

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Google Services (e.g. APIs or Firebase)
google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

Android Studio 3.0에서 테스트 됨

.ignore 플러그인을 설치해야 할 수도 있습니다.

Android 용 .gitignore 파일을 자동으로 생성 할 수 있습니다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 팔로우

그런 다음 왼쪽 패널에서 Android를 선택하고 생성을 클릭 하십시오.

Android Studio는 모든 파일을 무시해야하는 .gitignore 파일을 생성합니다.

http://menukanows.com/how-to-add-gitignore-file-in-android-project/ 에서 가져 왔습니다 http://menukanows.com/how-to-add-gitignore-file-in-android-project/


Android Studio 3.0으로 업데이트 됨 댓글에 누락 된 항목을 공유하십시오.

늦게 답변하지만 여기와 here 아무 대답도 우리를위한 돈에 맞지 않았습니다 ...

자, 여기에 우리의 gitignore 파일이 있습니다 :

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
.navigation
captures/
output.json 

#NDK
obj/
.externalNativeBuild

Android Studio 2.2 이후부터 최대 3.0까지 새 프로젝트가이 gitignore 파일로 생성됩니다.

*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild

Deprecated - 이전 프로젝트 형식의 경우이 섹션을 gitignore 파일에 추가하십시오.


/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp

이 파일은 프로젝트의 모듈 폴더가 아닌 프로젝트의 루트 폴더에 있어야합니다.

메모 편집 :

  1. 버전 0.3+ 이후로 * .imlbuild.gradle 파일을 커밋하고 푸시 할 수 있습니다. 프로젝트가 Gradle을 기반으로하는 경우 : 새로운 열기 / 가져 오기 대화 상자에서 "use auto import" 확인란을 선택하고 "use default gradle wrapper (recommended)" 라디오 버튼을 선택해야합니다. @George가 제안한대로 모든 경로가 이제 상대 경로입니다.

  2. @ 128KB 첨부 소스 및 @Skela 제안에 따라 업데이트 된 답변


Android Studio가 "무시 된 파일"목록을 무시하지만 Android Studio VCS를 여전히 활용하는 모든 파일의 가져 오기를 피하기 위해 다음을 수행했습니다. Android Studio의 "무시 된 파일"목록을 사용합니다 (가져 오기 후! 사용하지 않음) 귀찮은 방법을 사용하지 않아도됩니다 Tortoise SVN이 svn : ignore 목록을 설정합니다.

  1. Tortoise SVN 저장소 브라우저를 사용하여 저장소에 직접 새 프로젝트 폴더를 만듭니다.
  2. Tortoise SVN을 사용하여 가져올 폴더의 맨 위에있는 새 폴더를 체크 아웃하십시오. 로컬 폴더가 비어 있지 않다는 경고가 표시됩니다. 경고를 무시하십시오. 이제 버전없는 콘텐츠가 포함 된 버전이있는 최상위 폴더가 생성되었습니다.
  3. 로컬 작업 디렉토리에서 프로젝트를 엽니 다. 이제 VCS가 자동으로 사용 설정됩니다.
  4. 파일 -> 설정 -> 버전 관리 -> 무시 된 파일에서 파일 예외 설정
  5. Android Studio에서 SVN에 파일 추가 : 프로젝트 구조 -> VCS -> VCS에 추가 ( '무시 된 파일'을 제외한 모든 파일 추가)에서 'App'을 선택하십시오.
  6. 변경 사항 적용

앞으로 "무시 된 파일"은 무시되며 Android Studio에서 VCS를 관리 할 수 ​​있습니다.

건배, - 주스트


빌드 파일을 무시하는 데 문제가 있었지만 작동하는 것처럼 보입니다. :-)

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Android Studio
.idea/
.gradle
/*/local.properties
/*/out
/*/*/build
/*/*/production
*.iml
*.iws
*.ipr
*~
*.swp

*/build
*/production
*/local.properties
*/out

Github는 다양한 종류의 프로젝트에 유용한 gitignore 항목을 유지합니다. 다음은 안드로이드 프로젝트에 유용한 gitignore 항목 목록입니다.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# Intellij
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/libraries

# Keystore files
*.jks

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Google Services (e.g. APIs or Firebase)
google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

Android Gitignore in github


    ### Github Android.gitignore ### 

# Built application files
*.apk
*.ap_

# Files for the Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

### Github JetBrains.gitignore ### 

# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio

*.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




gitignore