IntelliJ:如何创建本地 Java 项目副本进行备份?

IntelliJ: How to create a local Java project copy for backup?

我是 JavaFX 8 和 IntelliJ IDE 的新手。我有一个 JavaFX8 项目可以工作,但不是我想要的。我想尝试另一种方法,但实质性的改变可能行不通。我不想丢失我正在工作的代码。

为了保存我正在工作的代码,我一直在创建一个 new 项目,然后在本地复制所有文件夹(.idea,out,src) 和工作项目中除 .iml 以外的文件放入适当的文件夹中新生成的项目 .iml.

这似乎总是有效,但这是正确的程序吗?

我不在开发团队中,还没有学习 Git/GitHub。

请指教。谢谢

也许您应该学习如何使用像 Git 这样的版本控制系统,然后您可以创建一个项目存储库,并为您想要尝试的东西创建不同的分支。
将工作代码保留在您的 master 分支中将防止您丢失工作代码。此外,在使用 vcs 时,您始终可以恢复到一直有效的代码版本。
IntelliJ Idea IDE 完美支持所有不同类型的版本控制系统。
如果您不想学习任何形式的 vcs,那么没有其他方法可以 "backup" 您的工作代码。

这是正确的程序吗?这可能不是大多数人会如何实现你想要实现的目标,但它肯定是可行的。如果你现在想为简单起见坚持使用它,我会复制整个目录结构,删除 .idea 和 .iml 文件,然后在 IntelliJ 中的干净副本上创建一个新项目:IntelliJ 将自动设置基于文件夹结构在现有源上,无需进行任何额外的手动设置。

如果你愿意尝试 git 路线,实现你想要实现的基础并不是很复杂,我在下面写了一个小的快速入门。 IntelliJ 为 Git 提供了很好的支持,一旦你的存储库被创建,你就可以从 IDE 做你需要的一切。我假设您正在 Windows 上工作,尽管这些步骤在其他平台上应该不会相差太远。

安装Git

您可以从 https://git-scm.com/download/win 下载并安装 Git,这将安装名为 Git Bash.

的命令 shell

项目的一次性设置

打开 git bash 并进入包含源代码的目录。 Git Bash 没有像 Windows 那样看到单独的驱动器,而是假设有一个逻辑 'root' 目录,您的所有文件都可以在该目录下访问。您的 C: 驱动器将是 /c。要四处移动,您可以使用 cd 更改目录(使用 / 而不是 )和 ls 列出文件而不是使用 dir.

假设您的源代码在 C:\projects\myproject:

cd /c/projects/myproject
git init

上面的第二行在该目录中创建了一个 git 存储库。这不会影响您的代码,它只会创建一个名为 .git 的文件夹,其中包含所有簿记信息。

您不想让每个文件都受版本控制——尤其是您不想让您的构建输出。您需要在项目目录中设置一个名为 .gitignore 的文件,它告诉 git 哪些文件和目录应该被忽略。作为起点,您可以复制 https://github.com/github/gitignore/blob/master/Java.gitignore 并将文件重命名为 .gitignore

基本命令和提交您的初始版本

有少量基本命令:

git status

运行 git status 会告诉你哪些文件被修改了,哪些文件不受版本控制,哪些文件已经添加到暂存区,下次提交。

git add path/to/file

这会将一个文件添加到等待提交的暂存区。您可以在一次性提交之前将多个文件添加到暂存区。

git commit -m "description of your change"

这会将所有暂存文件作为新版本提交,其中包含指定的提交消息。

如果您进入您的项目目录,请执行 git status 并检查列表以确保没有您不希望在版本控制下的内容,然后您可以执行 git add .将所有内容添加到暂存区并 git commit -m "Check in initial version of the source code" 将其提交到存储库。

提交后,您可以 运行

 git log

查看所有更改的历史记录。 IntelliJ 有一个视图可以向您展示同样的事情。

创建实验 b运行ch

这就是 git 的闪光点;如果您想尝试一些实验性的东西,您可以创建项目的 b运行ch,同时允许 git 保留原始版本。

git checkout -b experiment1

将创建并切换到名为 experiment1 的 b运行ch。您可以在此 b运行ch 上删除、重命名、移动、重写和开发任何您喜欢的内容。您提交的更改将独立于您的原始工作版本。

您可以切换回原始版本(保留您在那个 b运行ch 上所做的所有更改)使用:

git checkout master

其中 master 只是您 运行 git init 时创建的默认 b运行ch 的名称。实验版本仍然存在,可以使用 git checkout experiment1 或使用状态栏右下角的 b运行ch 选择从 IntelliJ 再次切换。

如果您决定将在实验 1 中所做的更改变成新的 "good" 版本,您可以将它们合并回主 b运行ch 并从那里重复循环.