0
假设几次提交之前我删除了一堆代码,现在我想要那个代码的一些回来。如何恢复特定文件中的特定行?
一段时间以来,我一直在使用SourceTree,它允许你简单地从早先的提交中选择你想返回的行并选择“恢复选中的行”(或类似的东西)。现在我在Linux上工作,无法找到具有任何此类功能的GUI;所以我想知道如何从命令行实现这一点。
想到的第一个选择是恢复整个提交,然后修改它只包含我想要的代码。有更简单/更好的方法吗?
假设几次提交之前我删除了一堆代码,现在我想要那个代码的一些回来。如何恢复特定文件中的特定行?
一段时间以来,我一直在使用SourceTree,它允许你简单地从早先的提交中选择你想返回的行并选择“恢复选中的行”(或类似的东西)。现在我在Linux上工作,无法找到具有任何此类功能的GUI;所以我想知道如何从命令行实现这一点。
想到的第一个选择是恢复整个提交,然后修改它只包含我想要的代码。有更简单/更好的方法吗?
的想法是像你已经说了:
撤销承诺,将其复位,然后重新添加该文件,但使用-p选项,这样你可以选择你想要哪一行。
一个例子:
git reset --soft HEAD^
git reset HEAD fileA
git add -p fileA
...
commit here
您也可以使用'git checkout -p HEAD ^'这将给你相同的交互式编辑器,但是相反。 –
你可以使用命令行,例如'git show'来检索较旧的提交...您也可以使用GNU'emacs'的VC菜单 –