作为git提交的一部分,如何获取在哪些文件中所做的更改?

作为git提交的一部分,如何获取在哪些文件中所做的更改?,git,version-control,commit,Git,Version Control,Commit,是否有一种方法可以获取有关在提交过程中对哪些文件进行了哪些更改的信息 我知道有一种方法可以获取所有提交的详细信息:git log-p 我的特定用例涉及获取关于一组提交ID的更多细节。我已经有了提交ID,我知道我可以得到作为这些提交的一部分而更改的文件列表。但是,我如何获得仅在这些提交中进行的实际更改 谢谢。您是在寻找git show$ID您是在寻找git show$ID如果开始更改的版本是refa(不包括在内),而结束引用是refn,那么您可以: git diff refa..refn 如果更

是否有一种方法可以获取有关在提交过程中对哪些文件进行了哪些更改的信息

我知道有一种方法可以获取所有提交的详细信息:
git log-p

我的特定用例涉及获取关于一组提交ID的更多细节。我已经有了提交ID,我知道我可以得到作为这些提交的一部分而更改的文件列表。但是,我如何获得仅在这些提交中进行的实际更改


谢谢。

您是在寻找
git show$ID
您是在寻找
git show$ID
如果开始更改的版本是
refa
(不包括在内),而结束引用是
refn
,那么您可以:

git diff refa..refn

如果更改开始的版本是
refa
(非包含),而结束的ref是
refn
,则您可以:

git diff refa..refn

如果您不喜欢
git log-p
的地方是它遍历树并显示父提交,那么您可以通过说
git log-1-p
将其限制为单个提交<代码>git show也应该可以工作。如果您想在没有显示日期/作者等的提交头的情况下显示所做的更改,您可以执行
git log-p-1--pretty=format:
(这基本上只显示
git diff
输出,当然您也可以通过执行
git diff~1
来获得)


如果您能够更好地明确您要查找的内容,那么可能还有其他选项。

如果您不喜欢
git log-p
的原因是它在树中行走并显示父提交,您可以通过说
git log-1-p
将其限制为单个提交<代码>git show也应该可以工作。如果您想在没有显示日期/作者等的提交头的情况下显示所做的更改,您可以执行
git log-p-1--pretty=format:
(这基本上只显示
git diff
输出,当然您也可以通过执行
git diff~1
来获得)


如果您能更好地明确您要查找的内容,可能还有其他选择。

我想一种方法是,一旦我有了作为commit x一部分更改的文件,就执行
git log-p
。但是有没有更直接的方法呢?我想一种方法是,一旦我有了作为commit x的一部分更改的文件,就执行一个
git log-p
。但是有没有更直接的方法呢?谢谢,你的回答很有帮助。谢谢,你的回答很有帮助。