当前位置:  开发笔记 > 编程语言 > 正文

git可以撤消未分段文件的签出

如何解决《git可以撤消未分段文件的签出》经验,为你挑选了6个好方法。

我通过git checkout意外地丢弃了我对本地工作树中文件的更改.这些文件目前尚未暂存.是否可以"撤销"此结帐?



1> Christoph Ge..:

如果您使用的是"专业"IDE,那么您可以从本地历史记录中恢复文件.例如,在Rubymine中,您可以右键单击文件并观看独立于git更改的更改历史记录,现在保存了几次^^


仅供参考,整个JetBrains系列的"专业"IDE提供此功能:Pycharm,IDEA,PHPStorm,Webstorm.今天救了我的bakken.谢谢,克里斯托弗!
在eclipse中,您可以右键单击文件 - >与 - >比较本地历史记录
如果有人发现这个线程已经破坏了XCode中的一些工作,那么就有办法获得AutoSave历史记录.XCode本身没有菜单条目来查看AutoSave历史记录,但它确实存储了它.如果在TextEdit中打开有问题的文件,则可以还原并查看"文件">"还原"下的"自动保存"历史记录.
我要感谢你 我使用WebStorm,完全忘记了这个功能,即使我经常使用它.我只是陷入了代码的丢失,我没有想到它!
高超.Sublime2 undo还回滚了由磁盘意外git checkout所做的更改.
非常感谢Christoph发布的内容.Pycharm只是为这个功能付出了代价
可以和其他人一致!这节省了我的一天!WebStorm本地历史......嗯!
我只是犯了同样的错误.NetBeans本地历史也拯救了我的屁股.
Vim:在你的vimrc中添加`set hidden`.
在我不小心对git bash中的工作树中的单个文件执行了git checkout之后,VS中的一个简单ctrl + z(撤消)救了我

2> VonC..:

我相信如果一个文件被修改但尚未添加(暂存),它纯粹是"私人的".
这意味着如果用索引或HEAD版本覆盖它,GIT就无法恢复它(除非你在某个地方有你当前工作的副本)."

"私有"内容是仅在您当前目录中可见的内容,但未在Git中以任何方式注册.


@CiprianTomoiaga对于任何类型的私人内容(尚未添加),您将完全依赖于您的编辑器或IDE功能.eclipse的示例:http://help.eclipse.org/neon/index.jsp?topic =%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-87b.htm
我知道git不能撤消对'私有'文件的更改.但是,如果文件是由git修改的(例如通过`git checkout --`),我希望它能够通过`reflog`撤消该操作.这是错误的期望吗?
@CiprianTomoiaga reflog用于过去的*unreferenced*提交.如果您要恢复的内容未提交(或暂存),则reflog将无法帮助您.
哇!难以置信。我需要检出一个文件,所以我想输入`git checkout folder / subfolders / file`,但是在进入`folder`后无意中按回车键并丢失了所有工作。/距键盘上的Enter距离为1厘米,并且我经常在具有不同键盘布局的机器之间进行切换,因此我的手指通常需要10到15分钟的时间才能适应新位置。即使在git书中说git这样做是为了不丢失工作,也很难相信git在2018年会破坏文件。

3> roman-roman..:

如果你在Sublime Text之类的编辑器中工作,并且有问题的文件仍然打开,你可以按ctrl + z,它将返回到git checkout之前的状态.


这个答案在我的一天得救了.非常感谢!
也为Visual Studio Code工作

4> Marcin Gil..:

不幸的是,您的更改已丢失 您的私人修改只是被覆盖.除非您git stash事先做结帐...

从更光明的一面来看:你现在可以更好地实现它;)



5> Marcin Szymc..:

检查IDE中的本地历史记录.



6> Benjohn..:

OS X开发?使用Xcode?你可能很幸运!

如qungu的评论中所述,OS X维护文件的自动保存版本历史记录,即使您没有使用时间机器也是如此.

所以,如果你吹走满不在乎的不分阶段的局部变化git checkout .,这里是你如何能可能恢复所有的工作.

如果有人发现这个线程已经破坏了XCode中的一些工作,那么就有办法获得AutoSave历史记录.XCode本身没有菜单条目来查看AutoSave历史记录,但它确实存储了它.如果在TextEdit中打开有问题的文件,则可以还原并查看"文件">"还原"下的"自动保存"历史记录.

昨天,这对我来说很棒,并且恢复了大约一天的工作.


您可能会问,"为什么没有git命令行界面,这是用于软件工程的首要VCS2016 2017年2018年,至少在将它们吹走之前备份文件?就像你知道的那样,在过去的三十年里,编写得很好的软件工具."

或者你可能会问,"为什么在TextEdit中可以访问这个非常棒的文件历史记录功能,而不是我真正需要它的Xcode?"

......我认为,这两者都会告诉你很多关于我们行业的事情.或者也许你会去修理这些工具.哪个会很棒.


我可以确认这有效。这只是节省了我的工作时间!
推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有