将GitHub存储库替换为新的Android Studio项目,同时保留旧的提交

时间:2016-12-22 05:28:09

标签: android git android-studio github

我有一个旧的Android项目,我认为我已经在Eclipse或一些旧版本的Android Studio中启动了。无论如何,项目结构与Android Studio现在使用Gradle组织的方式完全不同。而不是尝试更新我刚开始使用相同名称的新项目的每个文件位置。

现在我想更新我的GitHub存储库,但我不想丢失之前的提交,这样做git push --force origin master显然会导致(请参阅here和{{3} })。

此问题与here类似,但我想知道Android Studio的具体情况。此问题的当前答案也不会保留提交历史记录。

我将尝试根据Replace GitHub repo while preserving issues, wiki, etchere的提示找出一种方法。如果我能解决,我会在下面发表我的答案。

1 个答案:

答案 0 :(得分:10)

  1. 将当前项目文件夹(要放在GitHub上的新文件夹)重命名为MyProjectBackup

  2. 在Android Studio中,转到文件>新>来自版本控制的项目> GIT中即可。然后使用您的GitHub用户名和密码登录,并从GitHub存储库列表中选择旧项目的存储库名称。继续执行导入向导,您应该最终使用Android Studio中的旧项目。 (现在,例如,您的旧项目位于MyProject,而您的新项目位于MyProjectBackup)。

  3. .git项目文件夹中手动删除.gitignoreMyProject以外的所有内容(可能还有自述文件和许可证)。 (我曾尝试git rm -r *,但我here。)

  4. MyProject文件夹中的命令行运行

    git add -u
    git commit -m "deleting old files before adding updated project"
    

    这将getting errors工作树中的跟踪文件,用于您刚刚进行的所有手动删除。

  5. MyProjectBackup复制所有新文件。然后运行

    git add .
    git commit -m "new updated project"
    git push
    
  6. 现在您的新项目将在GitHub中,旧项目的提交历史记录仍然可用。

    有用的阅读