如何使用magit放弃对未暂存文件的更改?


28

有没有办法发出命令:

git checkout NameOfFile

在MAGIT中修改和未暂存的文件上?


3
您可以按k杀时的变化点上与未分级文件的同一行。
— Tu Do

x将鼠标悬停在spacemacs中时,请尝试。
— moritzschaefer '18 -10-12

@moritzschaefer没有迹象表明此问题适用于spacemacs。
— DoMiNeLa10

Answers:


35

您可以使用以下方法之一放弃未暂存文件中的更改:

  • M-x magit-revert-item(绑定到v在magit-status-mode)
  • M-x magit-discard-item(绑定到k中magit-status-mode) - 作品上上演过的物品

使用任何一种方法都会要求您先确认再丢弃。


1
您还可以使用k绑定到magit-discard-item中的哪个magit-mode。
— Kaushal Modi

是的,也可以。
— Manuel Uberti

尝试使用这两种方法,但是我仍然收到消息:“这里没有要丢弃的东西”。
— user2522280 2015年

谢谢!磁力模式似乎是完成我发现的所有事情的最佳方式……
— Jimmy Hoffa 2016年

@ user2522280您保存文件了吗?git status应该给您有关文件已被修改的信息。
— DoMiNeLa10

14

反转,还原和丢弃是不同的动作。与暂存和不暂存一起,它们被称为“应用变体”。

要丢弃的变化意味着把它扔掉。只能放弃未提交的更改。当放弃分阶段的更改时,它不仅会从索引中删除(这称为取消登台),而且会从工作树中删除。

要扭转的变化意味着将它应用到工作树倒车。已提交的更改和仅阶段性的更改都可以撤消。(撤消分阶段的更改实际上很有用,即在拆分提交时)。

只有提交可以恢复,但在其他方面它类似于倒车。

有关详细信息,请参见https://github.com/magit/magit/wiki/History-Manipulation。


“复归上演的变化......” -你的意思是“逆向工程&小号 ING上演的变化......”我猜
— npostavs

是。常见错误,因为这种区别与其他区别不一样:-)
— tarsius
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.