如何在 Android Studio 中正确使用 Git?
Posted
技术标签:
【中文标题】如何在 Android Studio 中正确使用 Git?【英文标题】:How to use Git correctly in Android Studio? 【发布时间】:2016-03-21 15:21:57 【问题描述】:我知道这是 *** 上讨论最多的话题,但我就是不知道如何使这项工作发挥作用。我想:
-
创建一个 android Studio 项目
用 git 签入项目
将项目推送到 bitbucket
将项目拉到另一台计算机上
这是我正在使用的 .gitignore(基本上是 Android Studio 创建的,我在其中删除了 *.iml 文件 - 因为它不起作用)
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
但不知何故,它就是行不通。无论我的 gitignore 文件是什么样的,Android Studio 都无法识别该项目。
那么实际的问题:如何将 Android Studio 项目推送到 git,以便我可以简单地将其拉入另一个客户端继续工作?
编辑:
以下是我做事的步骤,一步一步:
-
在 Android Studio 中创建项目 GitTest
在 Bitbucket 上创建一个 git 存储库
在 Android Studio 中:选择“启用版本控制集成” - 选择“git”
浏览 gitignore 文件并将其更改为匹配 Mauker 的
在“左侧项目”下选择“项目”,然后在 Git 下“添加”
提交/推送更改(在进程中定义远程仓库)
此时,项目在 bitbucket 上。接下来是“导入项目”部分:
-
打开安卓工作室
选择“从版本控制中签出项目”
从 Gradle 导入项目(建议使用默认等级包装器)
检测到未注册的 VCS 根目录 -> 添加根目录
项目加载,我得到某种 NullPointerException
【问题讨论】:
您遇到了什么具体问题?听起来您已经能够在一台计算机上推送 git 并在另一台计算机上将其拉下.. 为此编辑,伙计 我认为这真的是(我的)Windows 中的 Android Studio 问题......在下面的帮助下,我至少让它在 Mac 之间工作。 【参考方案1】:在另一台计算机上,您可以尝试导入项目,而不是打开它。
实际上,您不必将项目特定文件提交到您的 git 存储库。 Android Studio 足够智能,可以从许多不同的来源导入项目。
使用 IntelliJ IDEA,您不仅可以从 从头开始,但也导入使用其他开发的现有项目 工具。最常见的场景之一是导入现有的 Android-Gradle 项目。不过也可以导入一个Maven、Eclipse 或 Flash Builder 项目,甚至从一堆 源文件。
就像这样:
And here's a nice and more detailed tutorial 了解如何在 Android Studio 上从源代码和其他地方导入项目。
对于您的.gitignore
文件,我强烈建议您使用gitignore.io
网站获取一个。
另外,如果您已经提交了不应该存在的文件,请检查 this question 并查看如何删除它们。
这是我在一个项目中使用的.gitignore
文件示例。
# Created by https://www.gitignore.io/api/android,osx,windows,linux,intellij,java
### Android ###
# 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 Patch ###
gen-external-apklibs
### OSX ###
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
### Linux ###
*~
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
### Intellij ###
# 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
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
【讨论】:
这是一个非常全面的 git ignore 文件,你介意我在我的项目中使用它吗? 感谢您的详细说明。将尝试使用您的 gitignore 文件。 我们让它工作,从 Mac 推送,拉到 Mac。无法在我的 Windows 计算机上加载它(请参阅我的 OP 中的编辑),但我想我会停止尝试在 Windows 上使用 Android Studio :) 非常感谢您的帮助! 非常有用且通用的 git 忽略文件 在 Windows 上的“导入项目”成功了。在没有 Android Studio 将项目识别为受版本控制但想要添加我所有的源文件,因此它们已经存在于存储库中的情况下,我花了几个小时的挫败感。以上是关于如何在 Android Studio 中正确使用 Git?的主要内容,如果未能解决你的问题,请参考以下文章
如何强制 Android Studio 生成具有开发人员正确名称的文档