我正在尝试显示某个文件夹的来源之间的更改,我希望它仅显示使用以下命令添加和修改的名称,但它正在返回错误。
命令:
git diff --name-only --relative --diff-filter AM origin -- foldername/
错误:
fatal: bad revision 'origin'
为什么突然发生这种情况?我该如何解决?
编辑
使用不同的回购和"原始/主"仅返回不同的结果
C:gitprojectssamplefolder (master -> origin)
λ git diff --name-only --relative --diff-filter AM origin/master
readme.md
C:gitprojectssamplefolder (master -> origin)
λ git diff --name-only --relative --diff-filter AM master origin/master
readme.md
C:gitprojectssamplefolder (master -> origin)
λ git diff --name-only --relative --diff-filter AM origin
Properties/sample.properties
readme.md
请查看git diff
的man
页面(运行man git-diff
(。
在 description 部分中,您可以将第四个变体识别为调用git diff
作为所使用的变体。man
页面详细介绍了其用法:
git diff [--options] <commit> [--] [<path>...]
This form is to view the changes you have in your working tree relative to the named <commit>. You can
use HEAD to compare it with the latest commit, or a branch name to compare with the tip of a different
branch.
在您的情况下,您将字符串origin
用作<commit>
(或修订版(,要将工作树比较。这是行不通的,因为origin
不是修订/提交。这就是错误消息告诉您的。
origin
是"远程"。遥控器只是对存储库的另一个远程克隆的引用,而git diff
不能在整个存储库之间进行比较,仅在修订/提交之间。
您可以通过指定要与您进行比较的提交来解决此问题。一个示例是origin/master
,意思是与遥控器上的master
分支的尖端进行比较,称为origin
。确切指定的指定是什么取决于您要专门找出的内容。