0
我想利用Android Studio中的新导入功能将我的超大型Eclipse项目结束。主要原因是要利用最初的Gradle创建并添加风味支持。用同步Git导入到Android Studio中
改变的一件大事是文件结构,以便支持多种口味。我的eclipse项目已经在git中,我不想在导入自动重新组织文件时丢失历史记录。有没有办法让git在导入过程中识别文件“移动”,还是每个文件都必须手动更新?
我想利用Android Studio中的新导入功能将我的超大型Eclipse项目结束。主要原因是要利用最初的Gradle创建并添加风味支持。用同步Git导入到Android Studio中
改变的一件大事是文件结构,以便支持多种口味。我的eclipse项目已经在git中,我不想在导入自动重新组织文件时丢失历史记录。有没有办法让git在导入过程中识别文件“移动”,还是每个文件都必须手动更新?
Git没有跟踪您的文件。 Git正在跟踪你的文件的内容。文件名称只是元数据。因此,即使文件被移动或重命名,git也应该能够跟踪你的内容。因此你的历史不会丢失。
编辑
提供您根据您的评论一个例子,我创建了一个新的Git仓库并增加了一个新的文件。 Git的状态显示以下内容:
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: src/com/fun/HelloGitApp.java
#
犯我没有运行下面的命令序列中的新文件后:
$ mkdir -p src/main/java/com/fun
$ mv src/com/fun/HelloGitApp.java src/main/java/com/fun/HelloGitApp.java
$ rm -R com/
$ git add --all
Git是现在认识到该文件刚刚更名。你可以用一个新的git状态测试:
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: com/fun/HelloGitApp.java -> main/java/com/fun/HelloGitApp.java
#
我是新来的git(长时间SVN),所以我认为它会对此毫不未通过系统命令移动的想法。因此,如果我允许它使用/src/com/fun/a.java改变/src/main/java/com/fun/a.java来覆盖现有项目目录,那么git应该遵循 – Anthony
我编辑了我的答案以提供你基于你的评论的例子。希望这会有所帮助 – ckihm
我很惊讶,它能够拿起那个MV。我会继续进行尝试,并尝试以您展示的方式进行更新。 – Anthony