我正在开发一个Android Studio项目,我的团队成员使用Windows并使用OSX。
问题在于,当我从git中提取新代码然后打开项目时,我会根据Mac的SDK位置进行各种更改:
git diff
记录了一系列与此类似的更改:
我们如何配置Android Studio项目,以便不必进行这些自动代码更改,或者是否有办法最大限度地减少更改的文件数量?
更新
我更新了.gitignore并将其推送到远程仓库。
当我的团队更新了更多代码并将其删除时,我仍然遇到了相同的问题。
以下是我git status
之后的片段(我使用" ..."来表示该文件夹中的多个文件):
modified: .idea/gradle.xml
modified: .idea/misc.xml
modified: .idea/modules.xml
modified: .idea/vcs.xml
modified: app/app.iml
modified: app/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml
…
modified: app/build/intermediates/incremental/mergeResources/debug/merger.xml
modified: app/build/intermediates/res/debug/anim/abc_fade_in.xml
...
modified: app/build/intermediates/res/debug/anim/abc_slide_out_top.xml
modified: app/build/intermediates/res/debug/color-v11/abc_background_cache_hint_selector_material_dark.xml
modified: app/build/intermediates/res/debug/color-v11/abc_background_cache_hint_selector_material_light.xml
modified: app/build/intermediates/res/debug/color/abc_background_cache_hint_selector_material_dark.xml
...
modified: app/build/intermediates/res/debug/color/wallet_secondary_text_holo_dark.xml
modified: app/build/intermediates/res/debug/drawable/abc_btn_borderless_material.xml
...
modified: app/build/intermediates/res/debug/drawable/timeline_button_hover.xml
modified: app/build/intermediates/res/debug/layout/abc_action_bar_title_item.xml
...
modified: app/build/intermediates/res/debug/layout/support_simple_spinner_dropdown_item.xml
modified: app/build/intermediates/res/debug/menu/menu_all_locations.xml
modified: app/build/intermediates/res/debug/menu/menu_main.xml
modified: app/build/intermediates/res/debug/values-af/values-af.xml
...
modified: app/build/intermediates/res/debug/values/values.xml
modified: app/build/intermediates/resources/resources-debug-androidTest.ap_
modified: app/build/intermediates/resources/resources-debug.ap_
modified: build/intermediates/gradle_project_sync_data.bin
modified: local.properties
这是我的.gitignore,正如@Gabriele Mariotti所建议的那样:
#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
# Eclipse project files
.classpath
.project
# Android Studio
*.iws
*.iml
.idea
.gradle
build/
*/build/
我是否需要额外的.gitignore配置?如果我排除.idea,那么为什么这些文件会显示为已更改?
答案 0 :(得分:5)
在项目内部,您会找到一些Android Studio文件,例如每个模块中的.idea
和iml
文件。
另请查看this answer了解详情。
这些资源包含本地路径和引用,您应该从git仓库中排除它们(.idea
文件夹和iml
文件)。
这是我们与Mac,Linux和Windows用户一起使用的.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
# Eclipse project files
.classpath
.project
# Android Studio
*.iws
*.iml
.idea
.gradle
build/
*/build/
如果这些文件在git repo中,则应从远程仓库中删除它们,然后重建本地项目。