Câu hỏi Những gì nên ở trong .gitignore của tôi cho một dự án Android Studio?


Những tệp nào phải ở trong .gitignore cho một dự án Android Studio?

Tôi đã nhìn thấy một số ví dụ mà tất cả bao gồm .iml nhưng tài liệu IntelliJ nói rằng .iml phải được bao gồm trong kiểm soát nguồn của bạn.


1056
2018-05-24 14:04


gốc


github.com/github/gitignore - Yousha Aleayoub


Các câu trả lời:


Đã cập nhật lên Android Studio 3.0 Vui lòng chia sẻ các mục bị thiếu trong nhận xét.

Câu trả lời muộn nhưng không có câu trả lời nào ở đây và đây đã đúng với số tiền dành cho chúng tôi ...

Vì vậy, đây là tập tin gitignore của chúng tôi:

#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

Kể từ Android Studio 2.2 và lên đến 3.0, các dự án mới được tạo bằng tệp gitignore này:

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

Không được chấp nhận - đối với định dạng dự án cũ hơn, hãy thêm phần này vào tệp gitignore của bạn:


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

Tập tin này nên được đặt trong thư mục gốc của dự án và không nằm trong thư mục module của dự án.

Chỉnh sửa ghi chú:

  1. Kể từ phiên bản 0.3+ có vẻ như bạn có thể cam kết và đẩy * .iml và build.gradle các tập tin. Nếu dự án của bạn dựa trên Gradle: trong hộp thoại mở / nhập mới, bạn nên kiểm tra "use auto import" đánh dấu và đánh dấu "use default gradle wrapper (recommended)" nút radio. Tất cả các đường dẫn hiện giờ tương đối như @George được đề xuất.

  2. Đã cập nhật câu trả lời theo @ 128KB nguồn đính kèm và đề xuất @Skela


1149
2017-07-23 07:29



Tại sao chúng ta phải nhập dự án và tự thêm libs và phụ thuộc module? Có cách nào để bảo tồn những thứ đó trong repo và khi chúng ta sao chép repo chỉ làm một dự án mở? - Justin
Cách thích hợp để làm điều này là kiểm tra các tệp * .iml và * .ipr và chỉ cần mở chúng trong IDE. Tại sao buộc những người khác trong nhóm của bạn tạo lại các tệp này và tại sao cho phép họ sử dụng các cài đặt có thể không chính xác (chẳng hạn như phiên bản sdk)? - Sky Kelsey
@ liorry, tôi không đồng ý. Đây là câu trả lời đầu tiên mà người khác sẽ thấy, và nó được ồ ạt bỏ phiếu. Do tất cả những điều bạn cần làm để có được một dự án và chạy sau khi một bản sao mới từ git bằng cách sử dụng đặc biệt này .gitignore Tôi mạnh mẽ cảm thấy đây không phải là những gì hầu hết mọi người sẽ cần. Mặc dù tôi đoán số phiếu bầu cho tôi nói cách khác, nhưng tôi vẫn không đồng ý. Ít nhất, có lẽ một số thông tin nói rằng bạn rất có thể sẽ phải thiết lập dự án một lần nữa và nó sẽ không làm việc out-of-the-box. - Skela
@ liorry, tôi không có ý là thô lỗ hoặc bất cứ điều gì giao phối, xin vui lòng không mang nó cá nhân. Vấn đề là, những điều này cần phải làm việc với số lượng tối thiểu của thiết lập để được sử dụng thực tế. Khi bạn cần phải nhập khẩu dự án, và tự thêm module phụ thuộc của nó ngay lập tức bước vào một lĩnh vực lunacy. Khi bạn đã quen thuộc với một dự án, và biết những điều này từ trong ra ngoài, thì không có vấn đề gì với cách tiếp cận của bạn. Nhưng đối với một nhà phát triển đang nhân bản dự án lần đầu tiên, nó không phải là thực tế. Tôi thực sự chỉ cố gắng để đảm bảo rằng cách tiếp cận của bạn không trở thành tiêu chuẩn đó. - Skela
Bạn nên không phải phiên bản .iml các tệp trừ khi bạn không xử lý các phiền toái không cần thiết nếu người dùng khác đặt tên cho dự án một cách khác nhau khi họ kiểm tra. - theblang


Xây dựng trên Android thông thường của tôi .gitignorevà sau khi đọc qua tài liệu trên trang web Intellij IDEA và đọc các bài đăng trên StackOverflow, tôi đã tạo tệp sau:

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# built native files (uncomment if you build your own)
# *.o
# *.so

# generated files
bin/
gen/

# Ignore gradle files
.gradle/
build/

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

# Proguard folder generated by Eclipse
proguard/

# Eclipse Metadata
.metadata/

# Mac OS X clutter
*.DS_Store

# Windows clutter
Thumbs.db

# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/tasks.xml
.idea/datasources.xml
.idea/dataSources.ids

Cũng lưu ý rằng như đã chỉ ra, các tệp gốc được tạo phần hữu ích khi bạn xây dựng mã nguồn gốc của riêng mình với NDK của Android. Mặt khác, nếu bạn đang sử dụng thư viện của bên thứ ba bao gồm các tệp này, bạn có thể xóa các dòng này (* .o và * .so) khỏi tệp .gitignore của mình.


137
2018-01-10 16:23



Hầu như đúng. Tôi không nghĩ rằng nó là một ý tưởng tốt để bỏ qua *. Bởi vì bạn sẽ không thể làm việc với các dự án có liên kết phụ thuộc vào thư viện NDK. Nhưng một điểm khởi đầu rất tốt bởi tất cả các tài khoản! - Skela
@ Skela điểm tốt. Tôi đã có những thứ này từ khi tôi xây dựng các tệp gốc của riêng mình - nhưng tôi cũng đã làm việc trên các dự án yêu cầu một bản sao và dán các tệp dựng sẵn đơn giản. Tôi đã thêm một lưu ý về điều này vào câu trả lời ở trên. - Phil
@Phil Bạn có bất kỳ ý kiến ​​nào về các tệp XML trong .idea/libraries? Chúng có nên được chia sẻ hoặc loại trừ theo ý kiến ​​của bạn không? - Alex Lockwood
@AlexLockwood Tôi nghĩ rằng những tập tin này nên được bao gồm nếu dự án không phụ thuộc vào một dự án hoặc mô-đun. Tuy nhiên, nếu dự án phụ thuộc vào một mô-đun có chứa các thư viện, thì tệp này sẽ bị bỏ qua ở cấp dự án, nhưng không bị bỏ qua bởi mô-đun. - Phil
@Phil rất tuyệt vời và tôi đã sử dụng điều này cho đến nay nhưng một tập tin dex trượt qua các vết nứt: /moduledirectory/build/intermediates/dex-cache/cache.xml - sẽ không có ý nghĩa để thêm ** / xây dựng để loại trừ các thư mục xây dựng trong các mô-đun? - Oliver Hausler


Cập nhật 7/2015:

Đây là nguồn dứt khoát từ JetBrains


Định dạng dự án dựa trên thư mục (thư mục .idea)

Định dạng này được sử dụng bởi tất cả các phiên bản IDE gần đây theo mặc định. Đây là những gì bạn cần chia sẻ:

  • Tất cả các tệp dưới .idea thư mục trong thư mục gốc của dự án ngoại trừ các workspace.xml và tasks.xml các tệp lưu trữ cài đặt cụ thể của người dùng
  • Tất cả .iml các tệp mô-đun có thể được đặt trong các thư mục mô-đun khác nhau (áp dụng cho IntelliJ IDEA)

Hãy cẩn thận về việc chia sẻ những điều sau đây:

  • Các tạo phẩm Android tạo ra một bản dựng đã ký (sẽ chứa các mật khẩu kho khóa)
  • Trong IDEA 13 trở về trước dataSources.ids, datasources.xml có thể chứa mật khẩu cơ sở dữ liệu. IDEA 14 giải quyết vấn đề này.

Bạn có thể cân nhắc không chia sẻ những điều sau:

  • tệp gradle.xml, xem cuộc thảo luận này
  • thư mục từ điển người dùng (để tránh xung đột nếu nhà phát triển khác có cùng tên)
  • Tệp XML trong .idea/libraries trong trường hợp họ được tạo từ Gradle dự án

Định dạng dự án kế thừa (.ipr/.iml/.iws các tập tin)

  • Chia sẻ dự án .ipr tệp và tất cả .imltệp mô-đun, không chia sẻ các .iws tệp khi lưu trữ cài đặt cụ thể của người dùng

Mặc dù các hướng dẫn này dành cho IntelliJ IDEA, nhưng chúng giữ đúng 100% cho Android Studio.


Đây là .gitignore đoạn mã kết hợp tất cả các quy tắc trên:

# Android Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml

70
2017-08-26 22:45



SDK nào được hỗ trợ được xác định trong AndroidManifest.xml (và cũng bằng Gradle). Bất kỳ SDK nào được cho phép bởi cài đặt đó phải là ok để phát triển. Về các kiểu mã: đây không phải là cái gì đó phải được duy trì trong từng dự án riêng biệt, và hơn nữa nó phải được làm rõ độc lập với IDE. Các tiêu đề bản quyền: hy vọng, chúng nằm trong cơ sở mã của bạn và không nằm trong bất kỳ tệp dự án IDE nào. Nếu không, việc xây dựng trên dòng lệnh sẽ không bao gồm chúng ... - Risadinha
@Risadinha 1) SDK cũng được xác định ở cấp IDE. Chúng được tham chiếu trong Tệp kê khai, nhưng tệp dự án chứa các định nghĩa SDK thực tế. 2) Kiểu mã nên được duy trì AT LEAST ở cấp độ dự án. Lý tưởng nhất, mọi người sẽ viết Java tiêu chuẩn, nhưng tốt thôi. 3) Tiêu đề bản quyền được lưu trữ trong dự án. Chúng được sử dụng để tạo tệp mới và có thể chứa macro cho tên, tên công ty, dự án, ngày, v.v. Tôi khuyên bạn nên kiểm tra chúng! Tóm lại, các tệp dự án chứa thông tin meta quan trọng về dự án cần được chia sẻ và kiểm soát trong toàn bộ nhóm. - Sky Kelsey
Người duy trì đã kéo các thay đổi vào repo của chính mình. Nó có thể sẽ được kéo vào chủ sớm thôi. - FalconC
JetBrains đã ngừng sử dụng DOC-1186 và đặt đề xuất cập nhật trong bài đăng mới: KHÔNG BAO GỒM: Tất cả các tệp trong thư mục .idea trong thư mục gốc của dự án ngoại trừ tệp workspace.xml và tasks.xml và tất cả các tệp .iml. CẨN THẬN khi chia sẻ các tạo tác Android tạo ra một bản dựng đã ký (sẽ chứa các mật khẩu kho khóa), dataSources.ids và datasources.xml (chúng có thể chứa mật khẩu). LỰA CHỌN BAO GỒM: gradle.xml, thư mục từ điển người dùng và các tệp XML trong .idea / libraries (trong trường hợp chúng được tạo từ dự án Gradle). - JSmitty
Đó là một lý thuyết đáng yêu nhưng điều này chỉ đơn giản là không làm việc cho chúng tôi. Chúng tôi luôn kết thúc với các tệp .iml với các mục như sau: <orderEntry type="jdk" jdkName="1.6 (38)" jdkType="JavaSDK" /> Chú ý số 38 dường như liên tục được tăng lên. (tệp misc.xml cũng có sự cố này). - Sam


Tôi không đồng ý với tất cả các câu trả lời này. Cấu hình sau đây hoạt động tốt cho ứng dụng của tổ chức của chúng tôi.

Tôi bỏ qua:

Tôi nghĩ hầu hết mọi người đều đồng ý về /build.

Tôi bị bệnh liên tục nhìn thấy thông điệp về library.xml các tệp mà Gradle tạo hoặc xóa trong /.idea. Các build.gradle sẽ chạy trên địa phương của nhà phát triển khi họ kiểm tra dự án lần đầu tiên, vậy tại sao những tệp XML đó cần phải được phiên bản? Android Studio cũng sẽ tạo phần còn lại của /.idea khi nhà phát triển tạo dự án bằng Check out from Version Control, vậy tại sao mọi thứ trong thư mục đó lại cần được phiên bản?

Nếu *.iml được phiên bản một người dùng mới sẽ phải đặt tên cho dự án chính xác giống như khi được cam kết. Vì đây cũng là một tập tin được tạo ra, tại sao nó lại là phiên bản đầu tiên?

Các local.properties các tệp trỏ đến một đường dẫn tuyệt đối trên hệ thống tệp cho SDK, do đó, nó chắc chắn không nên được phiên bản.

Chỉnh sửa 1: Thêm .gradle để bỏ qua các công cụ lưu vào bộ nhớ đệm cấp tốc mà không nên được phiên bản (cảm ơn Vasily Makarov).

Chỉnh sửa 2: Thêm .DS_Store bây giờ tôi đang sử dụng Mac. Thư mục này là Mac cụ thể và nên không phải được phiên bản.

Ghi chú bổ sung: Bạn cũng có thể muốn thêm một thư mục để đặt các khóa ký của bạn khi xây dựng một phiên bản phát hành.

Để sao chép / dán tiện lợi:

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

34
2017-07-10 14:57



Tôi đồng ý với câu trả lời của bạn. Tôi cũng tin rằng không nên sử dụng các tệp * .iml hoặc .idea: stackoverflow.com/a/26290130/2948212 - iberodev
Phiếu bầu của tôi dành cho gitignore của bạn vì nó rất giống với tôi. Đề xuất về cặp vợ chồng: Sử dụng build/ thay vì /build để phù hợp với các mô-đun xây dựng mô-đun như app/build. Sử dụng .gradle để phù hợp với thư mục bộ nhớ đệm gradle. - Vasily Makarov
Tôi cũng hỏi tại sao mặc định gitignore liệt kê / xây dựng thay vì xây dựng / tôi kết thúc với tất cả các tập tin trong ứng dụng / xây dựng trong kho của tôi nếu tôi sử dụng / xây dựng - guyland123
@ guyland123 Tôi chỉ nhận thấy rằng tôi có một .gitignore trong thư mục ứng dụng của tôi cũng chứa /build. Được tạo tự động này, tôi không thể nhớ? Vì thế build/ sẽ áp dụng cho các thư mục con? - theblang
@mattblang yes .gitignore được tạo tự động khi bạn tạo một dự án mới. Tuy nhiên, nó không được tạo ra khi bạn nhập một dự án từ Eclipse. xây dựng / sẽ khớp với tất cả các thư mục có tên "build" bên dưới vị trí của tệp .gitignore. Ví dụ. ứng dụng / xây dựng sẽ bị bỏ qua. - guyland123


Tôi dùng cái này .gitignore. Tôi tìm thấy nó tại: http://th4t.net/android-studio-gitignore.html

*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties

*/build/

*~
*.swp

32
2018-05-21 10:53



* / build / không bỏ qua các tệp không thay đổi trong thư mục build của tôi. bất kỳ ý tưởng? @Solved: tôi đã phải thêm * / * / build / như thư mục build của tôi là một vài thư mục sâu. - speedynomads
Chỉ cần thêm build đã làm cho tôi. - Myxtic
** / build làm việc cho tôi - Jonathan Lin
làm thế nào về .iml? - Danail


Trong trường hợp của Android Studio, các tệp duy nhất được yêu cầu lưu trong điều khiển phiên bản là các tệp cần thiết để xây dựng ứng dụng từ dòng lệnh bằng cách sử dụng gradle. Vì vậy, bạn có thể bỏ qua:

  • * .iml
  • .ý kiến
  • xây dựng

Tuy nhiên, nếu bạn lưu bất kỳ cài đặt IDE nào, chẳng hạn như cài đặt kiểu mã tùy chỉnh, chúng sẽ được lưu trong thư mục .idea. Nếu bạn muốn những thay đổi đó trong điều khiển phiên bản, thì bạn cũng sẽ lưu các tệp IDEA (* .iml và .idea).


30
2018-05-24 15:11



Cảm ơn vì đã giải thích điều đó. Từ những gì tôi đã đọc nếu bạn sẽ bao gồm .idea trong dự án của bạn, bạn nên bỏ qua * /. Idea / workspace.xml và * /. Idea / tasks.xml - respectTheCode
không bỏ qua thư mục .idea bây giờ. Gradle plugin không có bất kỳ nhiệm vụ 'ý tưởng gradle' nào và dự án nhập khẩu trong Android Studio là hoàn hảo từ bây giờ. - robotoaster
Ngoài ra nếu bạn đang làm việc trong một nhóm xem xét bỏ qua local.properties vì ​​nó chứa đường dẫn sdk hardcoded. - Calin
@robotoaster, bạn vẫn khuyên bạn không nên bỏ qua thư mục .idea? - loeschg
@Ioeschg không còn cần thiết nữa. nếu bạn kiểm tra sạch git repo sử dụng Import New Project và nó sẽ hoạt động tốt miễn là các file xây dựng có mặt. - robotoaster


Tư vấn của tôi cũng sẽ không bỏ qua thư mục .idea.

Tôi đã nhập một dự án Eclipse dựa trên Git vào Android Studio và điều đó đã ổn. Sau đó, tôi muốn nhập dự án này với Git (như lần đầu tiên) vào một máy khác bằng Android Studio, nhưng điều đó không hiệu quả. Android Studio đã tải tất cả các tệp nhưng không thể "xem" dự án dưới dạng dự án. Tôi chỉ có thể mở Git-files.

Trong khi nhập dự án lần đầu tiên (từ Eclipse đến Android Studio), tệp .gitignore cũ của tôi đã bị ghi đè và một tệp mới trông giống như sau:

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

Vì vậy, tôi đã cố gắng sử dụng một gitignore trống và bây giờ nó đã làm việc. Android Studio khác có thể tải các tệp và Dự án. Tôi đoán một số tệp không quan trọng (profiles_settings.xml) cho Git và nhập khẩu nhưng tôi chỉ vui vì nó hoạt động.


16
2018-06-21 00:35





Đối với các dự án Android Studio 3.0, hãy sử dụng các mục sau:

.gitignore

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

Thư mục dự án Gradle

Điều duy nhất cần có trong thư mục dự án (Gradle) của bạn sau khi nhân bản kho lưu trữ là cấu trúc này (ít nhất là đối với các trường hợp sử dụng mà tôi đã gặp cho đến nay):

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

11
2018-06-30 12:06



Tại sao bạn nên giữ các tệp nhị phân như gradlew và gradle.bat? - Bilthon
@Bilthon Chúng không phải là nhị phân. Chúng là các kịch bản khởi động gradle cho Windows (gradle.bat) và Linux (gradlew). - Willi Mentzel
Ohh .. Tôi thấy bạn nói đúng, nhưng không phải họ đã tự phát không? - Bilthon
@ Bilthon Thật vậy, họ đang có! Chúng được tạo với các tùy chọn mặc định. Nếu bạn thay đổi một cái gì đó, họ nên được bao gồm trong kho của bạn để xây dựng nó đúng khi kiểm tra nó ra tươi. Chúng quá nhỏ, nó không đau để luôn giữ chúng. - Willi Mentzel


KHÔNG CẦN thêm vào điều khiển nguồn bất kỳ điều nào sau đây:

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

Vì vậy, bạn có thể cấu hình hgignore hoặc gitignore cho phù hợp.

Lần đầu tiên một nhà phát triển nhân bản điều khiển nguồn có thể đi:

  1. Mở Android Studio
  2. Dự án nhập khẩu
  3. Duyệt tìm build.gradle trong kho lưu trữ nhân bản và mở nó

Đó là tất cả

PS: Android Studio sẽ sau đó, thông qua maven, có được plugin gradle giả định rằng build.gradle của bạn trông tương tự như sau:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

Android studio sẽ tạo nội dung của thư mục .idea (bao gồm tệp workspace.xml, không được kiểm soát nguồn bởi vì nó được tạo ra) và thư mục .gradle.

Cách tiếp cận này thân thiện với Eclipse theo cách mà kiểm soát nguồn không thực sự biết gì về Android Studio. Android Studio chỉ cần build.gradle để nhập dự án và tạo phần còn lại.


8
2017-10-10 00:34



Guys, những người bỏ phiếu tiêu cực nên cung cấp một lý do hợp lệ để làm như vậy. Nó có thể hữu ích để cho chúng tôi / tất cả biết nếu chúng ta bị nhầm lẫn với câu trả lời của chúng tôi. - iberodev
There is NO NEED vâng, có một số trường hợp: các mẫu bản quyền cần phải chia sẻ trên các thành viên trong nhóm, chẳng hạn. - Henrique de Sousa


Tôi hỗ trợ cam kết của thư mục .idea (không bao gồm workspace.xml và tasks.xml). Nhưng tôi bắt đầu đi đến kết luận rằng các tập tin .iml nên được bỏ qua.

Đây là vấn đề:

Mở một dự án trong một thư mục có tên "foo" chẳng hạn và bạn sẽ nhận foo.iml và tất cả đều có vẻ tốt và tốt. Vấn đề là nếu tôi chỉ cần đổi tên thư mục thành foo2 (hoặc sao chép nó vào một tên thư mục khác) khi bạn cố gắng mở dự án trong Android Studio, bạn sẽ nhận được ba điều:

  • Tệp iml mới có tên foo2.iml
  • Tệp iml cho dự án Android của bạn sẽ được thay đổi để trỏ đến foo2 làm cha mẹ của nó
  • .idea / modules.xml sẽ có một dòng được thêm vào cho foo2.iml để nó có cả tệp iml cũ và tệp cho thư mục mới

Tôi không thể tìm thấy cách nào để ngăn Android Studio làm việc tạo tệp iml này khi dự án được lưu trữ trong một thư mục khác. Thêm chúng vào kiểm soát nguồn sẽ gây ra vấn đề. Vì vậy, tôi nghĩ có lẽ chúng ta nên bỏ qua các tệp * .iml và .idea/modules.xml


8
2018-05-06 20:38



Tôi bỏ qua cả hai /.idea và .iml các tập tin. Tôi muốn nghe lý do tại sao .idea thư mục phải được cam kết. - theblang
Nhìn vào dự án hiện tại của tôi, tôi đoán chỉ có 2 thứ tôi đã kiểm tra từ .idea /: cài đặt kiểu mã để thực thi cho nhóm và từ điển người dùng chứa các từ cụ thể cho dự án không phải là từ thực. Tôi bắt đầu với nhiều tập tin trong .idea cam kết, nhưng khi một tập tin bắt đầu hiển thị như thay đổi vì không có lý do chính đáng, nó sẽ được thêm vào .gitignore. Quan điểm của tôi không phải là quá nhiều .idea nên được kiểm tra như nó đã nói .iml tập tin và modules.xml không nên.
Họ là gì? - theblang
Xin lỗi, SO đã nhận xét của tôi trước khi tôi đã được thực hiện với nó (phải nhớ rằng ý kiến ​​không chấp nhận ngắt dòng). Chỉnh sửa với phần còn lại của những suy nghĩ của tôi.
Cảm ơn! Vâng, những tệp mà bạn đã đề cập có ý nghĩa. Tôi đồng ý, đau đầu lớn nhất là library.xml các tệp đã tiếp tục kích hoạt thư. Ngoài ra, tôi không hiểu tại sao tôi tiếp tục thấy mọi người nói rằng * .iml tập tin nên được bao gồm, vì vậy điểm tuyệt vời ở đó. - theblang