显示在上一次git commit中编辑的文件的相对路径名?

时间:2018-07-20 23:27:36

标签: git relative-path

在使用Git时,我通常(经常)连续多次编辑同一文件或一组文件。

为了使打开上一次提交中编辑的文件更加容易,我写了一个别名:

alias vig='vim $(git diff --name-only HEAD^ HEAD)'

这很好,除了两种情况:

  1. 如果the filenames contain whitespace or special characters-我不担心这一点,因为我的源代码文件不需要,并且我项目中的目录名称也不需要;
  2. 如果我位于项目的子目录中而不是顶层目录中,git diff --names-only报告的名称是相对于错误目录的。

如何让Git显示相对于当前目录的这些路径名?

1 个答案:

答案 0 :(得分:1)

我新的vig别名是:

alias vig='vim $(git log -1 --name-only --relative --pretty= .)'

这仍然不能处理文件名中的空格,但是出于我的目的,这很好。

功能上与我的早期版本有些不同:它不会打开在最近一次提交中编辑的文件,而是打开当前子树中的 文件。我希望它会更方便。