我有一个旧的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, etc和here的提示找出一种方法。如果我能解决,我会在下面发表我的答案。
答案 0 :(得分:10)
将当前项目文件夹(要放在GitHub上的新文件夹)重命名为MyProjectBackup
。
在Android Studio中,转到文件>新>来自版本控制的项目> GIT中即可。然后使用您的GitHub用户名和密码登录,并从GitHub存储库列表中选择旧项目的存储库名称。继续执行导入向导,您应该最终使用Android Studio中的旧项目。 (现在,例如,您的旧项目位于MyProject
,而您的新项目位于MyProjectBackup
)。
从.git
项目文件夹中手动删除.gitignore
和MyProject
以外的所有内容(可能还有自述文件和许可证)。 (我曾尝试git rm -r *
,但我here。)
从MyProject
文件夹中的命令行运行
git add -u
git commit -m "deleting old files before adding updated project"
这将getting errors工作树中的跟踪文件,用于您刚刚进行的所有手动删除。
从MyProjectBackup
复制所有新文件。然后运行
git add .
git commit -m "new updated project"
git push
现在您的新项目将在GitHub中,旧项目的提交历史记录仍然可用。
有用的阅读