如何在IntelliJ Idea中克隆整个项目?

时间:2013-06-11 00:31:23

标签: intellij-idea

我想在我的项目中运行一些测试,但我不想影响 原始代码,我想克隆项目,所以我可以在那里运行测试

有谁知道如何在IntelliJ Idea 11上克隆项目?

7 个答案:

答案 0 :(得分:28)

使用操作系统文件资源管理器工具,只需复制并粘贴整个项目目录。默认情况下,所有配置都应使用相对路径。

如果您的IDEA项目是基于.ipr的,那么在打开项目之前删除新的.iws文件。 如果您的IDEA项目是基于.idea目录,则在打开项目之前删除workspace.xml文件。

答案 1 :(得分:6)

如果你想复制和重命名项目,就像我想克隆一个项目,以便将它与更新版本的IntelliJ一起使用。

  1. 将整个目录复制到新位置,例如在Linux上:

    cp -r myproject new/location/

  2. 重命名项目:

    2.1。重命名项目文件夹(例如mv myproject newproject

    2.2。进入新项目文件夹(例如cd newproject)并使用文本编辑器编辑.name文件。

  3. 现在在IntelliJ中打开新项目(如果您不想保留打开的文件历史记录,可能需要删除workspace.xml - 我保留了它)并享受您的新项目!

答案 2 :(得分:2)

对于带有重命名的副本,我不得不再做一步,让它停止引用旧的模块名称。那就是右键单击项目窗格中的模块并执行Refactor>重命名(或按Shift + F6)重命名模块。

这是针对IntelliJ IDEA 2016.3.3

答案 3 :(得分:0)

将现有项目复制到新文件夹后,请不要忘记将 src 目录标记为目录。您可以在项目结构|下执行此操作模块

答案 4 :(得分:0)

要复制并重命名CLion cmake项目,我会进行一些调整,以遵循其他答案中的信息。

在新项目中消除对旧项目名称的所有引用似乎是无穷无尽的方法(已通过CLion 2019.1.2测试):

  1. 复制文件夹

  2. 重命名新文件夹

在新项目文件夹上:

  1. 删除项目信息文件夹(CLion将重新创建它):

    <new project name>/.idea
    
  2. 在文本编辑器上,打开:

    <new project name>/CMakeLists.txt 
    

    将每个对旧项目名称的引用更改为新名称并保存。 这样可以确保CLion不会使用“ CMakeLists.txt”文件中的“项目和目标”信息来以旧名称重新创建“ .idea”文件夹中的项目文件和数据。

请注意,该文件中引用旧项目文件夹的其他信息或其中存储的文件(例如INCLUDE,SOURCE目录和文件)也应更改为指向新文件夹。 < / p>

  1. 删除旧的编译数据。删除类似的文件夹:

    <new project name>/cmake-*
    
  2. 在CLion中打开项目

它应该具有新名称,并且在任何地方都不能引用旧名称。

  1. 如果使用CSV,您可能还希望删除旧的CSV数据

编辑:如果项目需要CUDA,则必须将CUDACXX环境变​​量重新分配给nvcc编译器的完整路径:

文件->设置->构建,执行,部署-> CMake->环境

如果已安装CLion CUDA Run Patcher,则可能需要重新启动CLion。

答案 5 :(得分:0)

我有一个gradle项目,提供的答案无效。该项目在IntelliJ中没有结构,我没有看到源文件。

以下工作有效:

  1. 导出项目(导出到zip文件)
  2. 将zip文件移动到新位置
  3. 解压缩
  4. 使用IntelliJ,以“打开”作为新项目导入。

更好的解决方案:

将其保存在git目录中,进行“测试分支”,然后尝试尝试进行任何尝试。

答案 6 :(得分:0)

显然,接受的答案不再适用于当前版本的 Idea 和许多派生的 IDE(我用 PHPStorm 尝试过)。问题:大部分配置文件都位于项目的 .idea 子目录中,但文件 .idea/workspace.xml 也包含 ProjectId,这当然应该是唯一的。因此,如果您手动复制项目目录,最简单的解决方法是更改​​ ProjectId - 根据我所见,您可以输入任何字母数字字符串,例如"ProjectId123"

据我所知,ProjectId 下存储的主要设置是工作区设置,位于 ~/.config/JetBrains/[IDENameAndVersion]/workspace/[ProjectId].xml 下。该文件主要包含打开的编辑器选项卡(具有相对于项目目录的路径)和工具窗口,因此如果您复制项目目录,您将始终在两个项目中打开相同的编辑器选项卡(包含“相同”文件,但来自各自的项目)。如果您想避免打开所有文件并设置工具窗口,您可以将旧的 [ProjectId].xml 文件复制到例如ProjectId123.xml(使用您之前输入的 ProjectId)。