14

从 git 服务器中提取后,我试图获取所有已更改文件的列表。我不需要任何特定的代码部分,只需要一个文件列表(带有某种关于它是否被添加、删除或更改的指示)。

我首先查看了使用 git log,但这似乎只返回上次提交的信息:

git log --name-status --max-count=1 --pretty=format:""

由于这似乎只从拉取中的最后一次提交中获取更改,因此我试图找到一种方法来获取所有更改(拉取几乎总是存在于多个提交中)。

有什么命令吗?(我正在通过 PHP 与 Git 交互,顺便说一句)

4

2 回答 2

28

拉后,ORIG_HEAD指的是你以前的位置,HEAD指的是你现在的位置。这ORIG_HEAD..意味着将更改拉入当前分支。--max-count=1正如您发现的那样,仅表示最后一次提交,而不是您想要的。

您可能想要这样的东西git diff --name-status ORIG_HEAD..,它将为每个更改的文件输出一个单字符状态代码和一个文件名,将所有提交聚合在一起。如果您希望每次更改都将其分解,则需要类似git log --oneline --name-status ORIG_HEAD..

于 2011-06-30T13:10:30.093 回答
0

另一个命令是:

git pull --stat 
于 2012-06-13T17:27:49.350 回答