我正在开发一个Android Studio项目,我的团队成员使用Windows并使用OSX.
问题是,当我从git中提取新代码然后打开项目时,我会根据Mac的SDK位置进行各种更改:
首先打开项目时的通知:
git diff记录了一系列与此类似的更改:
我们如何配置Android Studio项目以便不必进行这些自动代码更改,或者可能有一种方法可以最小化更改的文件数量?
更新:
我更新了.gitignore并将其推送到远程仓库.
当我的团队更新了更多代码并将其拉出来时,我仍然遇到了同样的问题.
这是拉后我的git状态的片段(我用“…”来表示该文件夹中的多个文件):
<code>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
</code>
这是我的.gitignore,正如@Gabriele Mariotti所建议的那样:
<code>#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/ </code>
我是否需要额外的.gitignore配置?如果我排除.idea那么为什么这些文件会显示为已更改?
解决方法:
在项目内部,您将找到一些Android Studio文件,例如每个模块中的.idea和iml文件.
另请查看this answer了解更多详情.
这些资源包含本地路径和引用,您应该从git仓库中排除它们(.idea文件夹和iml文件).
这是我们与Mac,Linux和Windows用户一起使用的.gitignore的一个例子.
<code>#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/ </code>
如果这些文件位于git repo中,则应从远程仓库中删除它们,然后重建本地项目.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!