【发布时间】:2015-11-25 22:26:50
【问题描述】:
IntelliJ 有一个理论上很酷的功能,称为Smart Checkout。当您更改分支并且当前分支中有已修改但尚未提交的文件时,此功能将启动。
它不会强迫您提交、存储或搁置更改,而是为您存储更改、切换分支,然后在新分支中运行 stash pop。
我想这有时是你想要的,但我在切换到错误的分支时运行了这个。
所以,现在我的master 分支充满了属于另一个分支的更改,一些文件正在报告合并冲突,我有各种痛苦。
我想要完成的是:
- 从主分支中彻底删除更改。
- 将它们移回我工作的分支机构。
有没有办法做到这一点?
【问题讨论】:
-
顺便说一句,丢失这些更改是相当痛苦的......几天的工作。我很乐意让他们回来。
-
这种魔法正是我更喜欢将 IDE VCS 集成仅用于读取操作并始终在命令行上添加、存储、提交等的原因。无论如何,您可以使用 git 实用程序轻松恢复隐藏的更改(SO 上有很多与此相关的问题,例如stackoverflow.com/questions/89332/…)。
-
使用 Atlassian Sourcetree 之类的工具会警告您,您的本地更改将被结帐覆盖,这将避免这种情况!我认为像 git tool 这样的命令可能会做同样的事情,但我不是 100% 确定。
-
我遇到了同样的问题。我希望此功能会隐藏更改并切换到新分支。然后当我回到旧分支时,它会记住它隐藏的内容。
标签: git intellij-idea version-control git-stash