在Java Studio中将文件(使用Git跟踪)从Java转换为Kotlin

Eug*_*hev 21 git intellij-idea kotlin android-studio

在Android Studio 2.3.2中从Java到Kotlin的转换(在3.0中具有相同的行为)会创建一个新文件并删除之前的文件.所以Git对这种转换一无所知.并且git历史不会保存.在Intellij Idea中一切都很好.IDE只重命名文件,git保存历史记录.如何在Android Studio中执行相同操作.

Ily*_*lya 19

Git猜测从添加/删除的文件对重命名,但仅当这些文件足够接近时,即文件是否重命名时没有或少量更改.

当您应用java-to-kotlin转换时,通常文件的每一行都会发生变化,因此git无法找到这些旧文件和新文件以某种方式相互关联.

您可以使用以下两阶段方法:

  • 只需将.java文件扩展名更改为.kt并提交;
  • 重命名,应用转换并提交修改后的.kt文件.

  • 我创建了一个 IntelliJ IDEA/Android Studio 插件,它会在转换过程中自动处理重命名和提交文件:https://github.com/denis-colliot/vcs-kotlin-converter (2认同)

Hay*_*Hay 5

如果这可能对将来的读者有所帮助:

如果您使用与IntelliJ集成的Git提交对话框(通过Ctrl + K提交),则在最近的版本中右侧有一个复选框:.java> .kt的额外提交重命名

以这种方式提交对话框将创建两个提交,第一个提交只是将.java文件重命名为.kt没有内容更改的文件。这有助于Git跟踪内容。