在git中生成特定提交的diff文件

时间:2017-02-21 02:16:40

标签: git git-diff

当头部处于特定提交时,我想获得一个diff文件,这样我就可以将头部缩小到另一个级别,然后尝试使用和不应用diff文件的测试功能。那么有没有办法生成特定提交的diff文件。

即使有一种方法可以在提交之前和之后更改头部,这种方法也更方便。

3 个答案:

答案 0 :(得分:8)

查看特定提交的更改。

private void setOverflowMenu(final int position){
   ...
}

查看两个提交的差异。

$ git diff <commit-sha> -p

OR,
$ git show --decorate <commit-sha>    # see 'Author', 'Date' and 'diff'

请参阅特定提交的$ git diff <commit1> <commit2> 更改。

file

查看所有持续时间的更改(例如$ git show <commit>:<file> )。

1 day

答案 1 :(得分:5)

如果我理解正确,你想获得一个低于HEAD一级的文件的差异

之前检查从当前HEAD到一个级别的文件差异
git diff HEAD^1 filename

数字1用于您要比较的级别,

你也可以使用SHA来获取差异,以查看所有使用SHA的提交

git log --oneline

然后你可以使用SHA来获得差异 将当前HEAD与特定提交使用进行比较

git diff commitSHA filename

如果你想获得两次提交之间的所有差异,你可以使用

git diff commitSHA1..commitSHA2 filename

答案 2 :(得分:2)

来自gitrevisions(7)

r1 ^!表示法包括提交r1,但不包括其所有父项。就其本身而言,该表示法表示单个提交r1。

这可以显示单个提交的差异,例如您可以这样做:

git log --oneline | grep thingamabob

这将给您带来短暂的阴影,因此您可以看到该提交的差异:

git diff 'b7f57543^!'
相关问题