【问题标题】:Migrate Git project from Eclipse to Android Studio将 Git 项目从 Eclipse 迁移到 Android Studio
【发布时间】:2015-10-21 06:41:27
【问题描述】:

我有一个Android项目作为基于Eclipse旧构建系统等的Git存储库。是否可以将他导入Android Studio以便进行迁移,这样从Git的角度来看,我们不会丢失信息?

示例:如果我们在 Git 存储库中的目录之间移动文件,Git 仍然知道它并且我们拥有此元数据,因此可以跟踪代码中的更改直到 AS 迁移发生之前的点(因为 它与移动的文件相同,并且存储和跟踪的位置历史记录)。但似乎迁移过程“不仅仅是在目录等之间移动文件”,那么它是如何影响的呢?我也想区分:

  1. 简单项目 - 通常自动 AS 迁移费用会处理此问题。
  2. 复杂项目 - 手动迁移(甚至启动新项目和复制粘贴文件)。

谢谢,

【问题讨论】:

标签: android git android-studio


【解决方案1】:

我这样做的方式是这样的:

  1. 确保您已提取所有最新内容

  2. 将项目从文件导入到 Android Studio - 导入项目。这会在新文件夹中创建项目。更多详情,请参阅official documentation。

  3. 将.git目录和.gitignore从旧项目文件夹复制到新项目文件夹

  4. 修改 .gitignore 以忽略 .gradle/、.idea/ 和所有 .iml 文件

  5. git add -A,然后是git status - 它应该将文件显示为重命名。

  6. 提交并推送

【讨论】:

  • 我认为复制.git目录是没有必要的
  • 至少在我的情况下是这样 - 导入过程不会将 .git 文件夹复制到新的项目文件夹中。
  • 我虽然导入项目并不意味着改变项目目录
  • @VizGhar 我也是这么认为的,直到我使用了 Android Studio 的 Import project -feature
【解决方案2】:

在 git 中创建一个分支:

git checkout -b android_studio_code
git push origin android_studio_code

这将单独跟踪文件,或者如果您想维护相同的存储库,您可以随时返回提交 ID 为:

git reset --hard <sha-id>

或将新项目强行合并为:

git push -f origin master

【讨论】:

    【解决方案3】:

    我不确定您是否真的需要考虑 git,除非您必须包含自动增加版本控制的 CI 构建。

    如果您只想保留文件结构,您可以指定所有内容的位置。

    android {
        ...
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                aidl.srcDirs = ['src']
                renderscript.srcDirs = ['src']
                res.srcDirs = ['res']
                assets.srcDirs = ['assets']
            }
        }
    }
    

    【讨论】:

    • OP 想知道如何在旧的 Eclipse 项目层次结构中保存 git 信息。例如,OP 可能需要返回到项目源的先前版本。因此,除非我弄错了,否则这并不能解决问题。
    【解决方案4】:

    基本上你应该使用以下步骤:

    1. 启动 Android Studio 并关闭所有打开的 Android Studio 项目。
    2. 从 Android Studio 菜单中选择文件 > 新建 > 导入项目。
    3. 选择带有 AndroidManifest.xml 文件的 Eclipse ADT 项目文件夹,然后单击确定。
    4. 选择目标文件夹并单击下一步。
    5. 选择导入选项并单击完成

    由于您将从本地项目导入,因此您的 git 设置也应该导入。

    更多详情请见here。

    【讨论】:

      猜你喜欢
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      相关资源
      最近更新 更多