更新
我提出这个问题的目的是完成eclipse项目到Android的迁移,并保存所有的文件历史记录。当我到达路径时,我从eclipse项目的克隆开始,但遇到了以下问题。我重新设计了这个版本,从eclipse复制的副本开始,而不是克隆版本,并设法得到了我想要的结果(见下面的答案)。
原题:
我将eclipse项目迁移到了android工作室。为了保留git历史记录,我将现有的eclipse repo克隆到临时空间/tmp/git_rename (例如)
在克隆的repro中,我做了以下工作:
我通过创建几个新分支来做到这一点。就像我做的那样,将它们提交并合并回师父。
然后,我得到了一个git repo,它在迁移的android studio项目的源文件中具有相同位置的源文件。
然后,我在android studio目录的根目录中复制了这个.git目录。
我认为这做了我想做的大部分事情(我可以看到我所有的java和资源文件的历史)。
问题在于,由于我做了一个克隆,所有旧分支都只是对旧eclipse的引用,如下所示。我真的希望这是一个“常设”存储库,包含所有旧的分支,并将本地的内容提交给它。我也有一个问题,我有一个本地的主人和一个远程的主人。然后我会把它推到一些遥控器上进行备份。
我想这应该是相当容易做到的,但我已经接近我想要的,我不想破坏任何东西。
有人能给我一些指导吗?如何从我所在的地方(如下图所示)到一个有本地分支和一个大师的单一回购?。
发布于 2014-12-23 13:03:21
我从零开始做了最后一次。我将记录我所做的事情,希望它能帮助其他人找到一种很好的方法,将eclipse项目迁移到Android,并维护所有git历史(对我来说并不明显)。
这假设您已经完成了迁移向导,并且已经迁移了Android版本的应用程序,但是现在您也希望移动所有的git历史记录。如果您还没有这样做,这是相当严格的前进,您可以从开发人员页面上的说明找到这里
完成迁移之后,您将在Android中获得源代码的副本,但没有git历史记录。我就是这样搬过来的。
其基本思想是创建一个具有所有现有历史记录的.git目录,但是按照android使用的结构,然后将其复制到项目根目录中。这是一个相当容易的过程,但我在这里写下了每一个血淋淋的细节。您可能可以跳过其中的一些步骤(比如创建新的分支),但这就是我所做的。
这样就行了。听起来比实际情况要复杂得多。基本上,您正在复制现有的.git文件夹,对其进行修改,以便它能够看到在android中发生的更改,而不是在eclipse中发生的更改,然后将修改后的.git文件夹复制到android项目中。
下面是我使用的两个.gitignore文件:
在项目根目录中。
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
在应用程序文件夹中:
/build
发布于 2014-12-23 10:56:19
如果你只想让你的回购停止跟踪它的遥控器,你可以使用git remote rm [remotename]
删除对遥控器的引用。如果origin
是您唯一的远程,那么在新的git中执行git remote rm origin
将删除对origin
的引用。
您可以阅读有关使用和操作远程这里的更多信息。
https://stackoverflow.com/questions/27626043
复制相似问题