如何在不键入整个路径的情况下git diff

时间:2012-12-31 23:14:33

标签: git github

我正在使用github windows shell,我将执行以下操作

git status

查看已修改文件的列表,并想提醒自己更改了哪些内容。我必须键入类似

的内容
git diff Source\FooBar\Pages\FooBar.aspx

这似乎需要输入许多字符。是否有一些更简单的工作流程来查看我没有看到的差异?

4 个答案:

答案 0 :(得分:28)

git diff -- **/FooBar.aspx

通常*代表文件名的任何部分,而**代表任何子路径。例如。 git diff -- **/main/**/*.aspx只会区分位于aspxmain子目录中某处的main个文件。这适用于接受路径的其他命令,如提交和添加。

答案 1 :(得分:1)

如果您想查看所有更改,只需使用git diff即可。但是,它不会列出新文件。

要有选择地查看更改,我建议使用GUI,例如git guigitk

答案 2 :(得分:1)

我使用 Console2 来托管bash。

通过这个我可以使用 Ctrl +单击并拖动来突出显示文本,然后将其复制到剪贴板并粘贴到更多命令行中。

我用它来复制文件路径。

这使我能够输入 git diff [Ctrl + V] 并获取我想要的命令行。

答案 3 :(得分:1)

大多数终端(例如windows的console2)都有自动完成功能。

开始输入并按tab

通常git可以在2个字符后自动完成。像:

gi tab di tab

会给你 git diff 。如果您的文件夹的命名方式与单个字符后可能自动完成的文件夹相同。比如你的项目根有三个文件:

  • 自述
  • /源极/
  • / bin中/

您只需键入rsb然后选项卡即可自动键入任何这些文件名。

仅供参考, 自动完成适用于终端和git命令,文件和目录名称,分支和标记名称,但遗憾的是不适用于提交ID。