在GitKraken中还原一个文件

Feo*_*akt 9 gitkraken

在GitKraken中可以将单个文件的更改恢复为先前的提交而不是恢复整个提交吗?

kow*_*sky 16

回答

一个revert在它的混帐感觉只能在提交执行.它引入了一个新的提交,它完全否定了恢复提交的更改.看到这里.GitKraken支持这一点:右键单击提交,Revert <branch> to this commit.

但是,您想要完成的任务可以通过以下方式完成git checkout.我不认为GitKraken支持单个文件的这种功能.但是,您可以使用命令行.

通过命令行重置单个文件

git checkout <commit> <file>

查看以前版本的文件.这会将<file>工作目录中的内容转换为工作目录的精确副本, <commit>并将其添加到暂存区域.

文档可以在这里找到.

git checkout HEAD~1 <filename>因此将在当前之前将单个文件重置为提交HEAD.

  • FWIW,GitKraken 7.3.0(也可能是旧版本)确实允许在 UI 中的单个文件上有效运行“git checkout”:右键单击“未暂存文件”下的文件,然后选择“放弃更改”。也适用于文件夹。 (2认同)

Mir*_*Mir 6

您可以在GitKraken UI中完成此操作,但这有点round回:

  • 将最近的提交还原到删除文件的位置,但是当GitKraken询问您是否要立即提交还原时,请单击“否”。
  • 取消所有更改
  • 仅暂存要还原的文件的添加
  • 右键单击“ Unstaged”,然后全部放弃

这应该只为您要还原的一个文件添加一个附件。提交,现在您已经恢复了一个文件。

请注意,这可以跨多个提交工作,而不仅是一次...而且由于必须回退所有这些提交中的所有内容,然后丢弃所有回滚(除了一个),因此如果涉及大量提交,则可能会非常慢变化。在这种情况下,最好使用kowsky答案中建议的git CI。