如何跨多个平台管理一个Android/Eclipse/Git项目?

3

我正在参与一个Android小组项目,遇到了Eclipse的.metadata文件夹和git的问题。

起初,我没有包括.metadata文件夹,这导致其中一位队友的eclipse工作空间完全崩溃。项目不会在包资源管理器中显示,SDK也无法找到。我在OSX下工作,他们在Windows上。因此,我包括了.metadata文件夹,解决了找不到项目的问题,但提交是个噩梦!总是有成千上万的插入/删除,并且SDK被找到,但指向错误的位置。

另一个问题是bin/gen/文件仍然显示为Git中添加/修改的文件。我知道我可能错过了一些非常明显的东西。

我的.gitignore文件

# Trying to get bin/gen to not show up in Windows
AllTests/bin
AllTests/gen
Fire-Alert/bin
Fire-Alert/gen

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/
target/
/bin
/gen

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

# Mac .DS_Store files
.DS_Store

我的Eclipse工作区文件结构:

├── .git
│   ├── branches
│   ├── hooks
│   ├── info
│   ├── logs
│   ├── objects
│   └── refs
├── .metadata
│   └── .plugins
├── AllTests
│   ├── .settings
│   ├── assets
│   ├── bin
│   ├── gen
│   ├── res
│   └── src
└── Fire-Alert
    ├── .metadata
    ├── .settings
    ├── assets
    ├── bin
    ├── gen
    ├── libs
    ├── res
    └── src
1个回答

2

我在使用Git和Eclipse管理我的Android项目时没有.metadata文件。我认为你不需要它。

至于在Git中显示为添加/修改的bin/gen/文件...看起来它们是无意中被添加到版本控制中了。你可以使用以下命令将它们移除:

git rm --cached bin/ gen/
git commit -m 'cleaning up bin/ and gen/'

谢谢你的回答。我已经使用你的答案和另一个步骤解决了我的问题。我没有意识到如果一个文件已经被跟踪,那么将其添加到.gitignore中不会影响它。当我明白这一点后,我只需按照你的指示删除bin/ gen/和.metadata,并确保它们都在我的.gitignore中。然后我告诉我的队友们也这样做。由于metadata保存了项目信息,新的团队成员必须将项目导入他们的工作区并设置运行环境。现在仓库干净如新。 - lcushman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接