2011-12-14 22 views
34

Những tệp nào trong dự án Android nên được cam kết với kho lưu trữ kiểm soát phiên bản? Những tập tin nào không nên được cam kết?Trong phát triển Android, những tệp nào cần được cam kết với một kho lưu trữ?

Ngay bây giờ tập .gitignore tôi bao gồm các dòng sau:

# Android generated files # 
########################### 
android.keystore 
local.properties 
bin/ 
gen/ 
libs/ 
obj/ 

# OS generated files # 
###################### 
.DS_Store* 
ehthumbs.db 
Icon? 
Thumbs.db 

# Eclipse generated files # 
########################### 
.settings/org.eclipse.jdt.core.prefs 

Am tôi thiếu gì không?

+0

Xem thêm http://stackoverflow.com/questions/5165688 – meleyal

+0

Không ai đề cập đến "obj". Chúng tôi giả định rằng thư mục đó nên đi vào kiểm soát nguồn. – Jonny

Trả lời

24

GitHub duy trì danh sách chính thức các tệp .gitignore được đề xuất tại this public repository.

Đối với Android, bạn có thể tìm thấy nó here

Hoặc chỉ cần sao chép/dán:

# Built application files 
*.apk 
*.ap_ 

# Files for the 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 
+0

Vui lòng thêm thông tin liên quan vào câu trả lời. – Jonny

6

Quy tắc chung của ngón tay cái là không cam kết bất kỳ tệp nào có thể được tạo lại, vào kho lưu trữ. Có nói rằng, bạn có thể muốn thêm tệp project.properties của mình vào .gitignore cũng vậy (nếu có).

+0

Không phải project.properties chứa siêu dữ liệu dự án quan trọng. Nếu bạn xóa nó, bạn sẽ gặp sự cố khi tạo lại nó. –

+0

@RicardoGladwell Bạn có thể tạo lại 'project.properties' bằng cách sử dụng lệnh sau trong thư mục chính của dự án: ' android update project --path. --target android-16' (hoặc bất kỳ mục tiêu mức API nào khác) – Nilhcem

+2

@Nilhcem là một bước thủ công dễ vỡ có thể dễ dàng bị lãng quên, bạn nên cam kết project.properties của mình như một phần của các tệp nguồn khác. –

3

không thêm thư mục bin và thư mục gen. Chúng không phải là một phần của nguồn của bạn mà chúng được tạo ra. Trong tương lai hãy nhớ rằng bạn chỉ thêm các tệp cần thiết để xây dựng và chạy dự án của bạn, và các tệp nhị phân và được tạo ra thì không.

Tuy nhiên, nếu bạn không sử dụng bất kỳ công cụ nào như ivy hoặc maven, bạn có thể muốn thư mục lib của bạn xuất hiện. Thông thường, khi bạn sử dụng dự án thư viện, bạn cũng cần phải cam kết số

+2

FYI, anh ấy ** không ** cam kết thư mục 'bin' hoặc' gen'. Những gì bạn đang thấy có tệp '.gitignore' của anh ấy. –

+1

Tôi đã không nói rằng anh ấy đang làm điều đó, tôi chỉ nhận thấy rằng đó là thực hành tồi tệ nhất – Orest

+0

Tôi đã phải đối phó với một nhà cung cấp đã kiểm tra tất cả các tệp .o và .pyc. Mỗi lần tôi tạo một bản dựng, "trạng thái git" sẽ tạo ra hàng nghìn dòng các tệp "đã thay đổi". –

0

Tính đến Android Studio 2.2.2 (và có lẽ cũng đã được bổ sung trước khi phiên bản này) khi bạn tạo mới dự án, Google thêm tệp .gitignore mặc định vào dự án cho bạn với các nội dung sau:

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

Một chút khác với câu trả lời ở trên, vì nó cũng bỏ qua các thư mục .idea, có xu hướng có nhiều tệp trong đó.

Các vấn đề liên quan