GitKraken可以将单个文件的更改恢复为先前的提交而不是恢复整个提交吗?
答案 0 :(得分:13)
它的git-sense中的revert
只能在提交时执行。它引入了一个新的提交,它完全否定了恢复提交的更改。见here。 GitKraken支持这一点:右键单击提交Revert <branch> to this commit
。
但是,您可以通过git checkout
完成您想要完成的任务。我不认为GitKraken支持单个文件的这种功能。但是,您可以使用命令行。
git checkout <commit> <file>
查看以前版本的文件。这会转变
<file>
驻留在工作目录中的精确副本<commit>
并将其添加到暂存区域。
可以找到文档here。
因此, git checkout HEAD~1 <filename>
会将单个文件重置为当前HEAD
之前的提交。
答案 1 :(得分:3)
您可以在GitKraken用户界面中完成此操作,但它有点迂回:
这应该只为您要恢复的一个文件添加一个。承诺,现在你已经恢复了一个文件。
请注意,这可以在多个提交中工作,而不仅仅是一个...但是因为它必须从所有这些提交中回滚所有内容,然后丢弃所有回滚(除了一个),它可能会很慢如果涉及大规模的变化在这种情况下,最好使用kowsky答案中建议的git CI。
答案 2 :(得分:0)
您可以使UNDO到最后一次提交对其进行编辑,然后再进行一次Force Push覆盖。效果很好
答案 3 :(得分:0)
尽管它并不严格涉及使用git
命令,但GitKraken提供了可视化任何给定commit
上任何项目文件内容的可能性。
在处理单个文件时,复制/粘贴目标提交文件的内容可能比使用复杂的git
命令要容易得多,而这些命令可能最终会弄乱整个项目的提交历史。
要实现这一目标,只需:
仅需还原数量非常有限的文件时,简单高效……
答案 4 :(得分:0)