2014-01-19 38 views
0

我想利用Android Studio中的新导入功能将我的超大型Eclipse项目结束。主要原因是要利用最初的Gradle创建并添加风味支持。用同步Git导入到Android Studio中

改变的一件大事是文件结构,以便支持多种口味。我的eclipse项目已经在git中,我不想在导入自动重新组织文件时丢失历史记录。有没有办法让git在导入过程中识别文件“移动”,还是每个文件都必须手动更新?

回答

2

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 
# 
+0

我是新来的git(长时间SVN),所以我认为它会对此毫不未通过系统命令移动的想法。因此,如果我允许它使用/src/com/fun/a.java改变/src/main/java/com/fun/a.java来覆盖现有项目目录,那么git应该遵循 – Anthony

+0

我编辑了我的答案以提供你基于你的评论的例子。希望这会有所帮助 – ckihm

+0

我很惊讶,它能够拿起那个MV。我会继续进行尝试,并尝试以您展示的方式进行更新。 – Anthony