java - 未显示货架选项卡时如何恢复 Intellij 中搁置的更改?

标签 java git intellij-idea version-control dvcs

我今天第一次尝试在 IntelliJ IDEA 中使用“搁置”功能。我搁置了我当前的所有更改,以便我可以快速修复错误,提交它,然后再回到我当前的工作。

当我提交“shelf”操作时,IntelliJ 创建了 shelf,我可以在工具窗口中看到它。然后它恢复,并重新加载项目。

现在 Changes 工具窗口中的 shelf 选项卡不再出现。

但是在文件系统中我可以在.idea/shelf下看到补丁文件。

为什么?我怀疑问题是 .idea 目录本身受版本控制。所以当我搁置更改时,它文件包含在搁置的更改中,然后它被还原,IntelliJ 不再知道搁置的更改。

我正在使用 Git。

如何让 IntelliJ 知道更改工具窗口中的补丁文件?或者,如果不可能,我如何仅根据补丁文件恢复这些更改?

以及以后如何使用这个功能才不会遇到这个问题?

.idea 目录保留在 te VCS 中是一种不好的做法吗?

最佳答案

问题的答案

How can I make IntelliJ aware of the patch file in the change tool window ?

问题是:

  1. 创建一个虚假的搁置更改,以便“搁置”选项卡可用。如果当前没有搁置的更改,则不会显示。

  2. 右击“架子”选项卡,选择“导入补丁文件”,选择之前创建的补丁文件。这创建了“架子”

  3. 您现在可以正常“取消搁置”更改

最后,我不得不手动 merge workspace.xml 文件。在此之后,我想我会考虑停止将IDE项目文件提交到VCS。至少当从例如重新创建 IDE 项目是一项微不足道的任务时。一个 checkout 的 Maven 项目。

关于java - 未显示货架选项卡时如何恢复 Intellij 中搁置的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29140357/

相关文章:

java - JSP中的登录验证和 session

java - 如何在具有许多字段的java中创建一个不可变的类?

java - 从文本文件中提取某些值(姓名、电子邮件、电话号码)

java - DFS期间重新访问节点并控制无限循环

git - 有没有办法找出整个文件在特定提交中的样子?

java - 是否有键盘快捷键可以在项目窗口中选择特定模块?

android - 如何从 JodaTime 获取时区小时数

maven - 能够在 IntelliJ 中将 Gradle 项目转换为 Maven 并保留两个构建文件

Git 默认 merge 提交消息不包括冲突

Git:从历史记录中删除替换文件的提交