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

Sur*_*gch 6 git android github android-studio

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

现在我想更新我的GitHub存储库,但我不想丢失我以前的提交,这会做一些git push --force origin master显然会导致的事情(参见此处此处).

这个问题类似于替换GitHub repo同时保留问题,维基等,但我想知道Android Studio的具体情况.此问题的当前答案也不会保留提交历史记录.

我将根据此处此处的提示尝试找出一种方法.如果我能解决,我会在下面发表我的答案.

Sur*_*gch 12

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

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

  3. 从项目文件夹中手动删除除.git.gitignore(以及可能的自述文件和许可证)之外的所有内容MyProject.(我曾经尝试git rm -r *但是我遇到了错误.)

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

    git add -u
    git commit -m "deleting old files before adding updated project"
    
    Run Code Online (Sandbox Code Playgroud)

    这将更新工作树中的跟踪文件,以用于您刚刚进行的所有手动删除.

  5. 从中复制所有新文件MyProjectBackup.然后跑

    git add .
    git commit -m "new updated project"
    git push
    
    Run Code Online (Sandbox Code Playgroud)

现在您的新项目将在GitHub中,旧项目的提交历史记录仍然可用.

有用的阅读