1

我试图这样做并没有显示任何不同 如何在 git 的分支上获取更改

我从 master 做了一个分支,从那时起对 master 和我的分支进行了更改(称为性能)。我想要的只是

  1. 自分支“性能”分支以来更改/触及的文件列表(所有文件均已提交)
  2. 显示所有更改/触摸的所有文件的完全差异。

在执行 git diff origin/master 时,它会列出两个分支上的所有更改 :(。

由于 git diff HEAD..performance 什么都没有显示(并且 ... 也没有显示),所以命令是什么?此外,以与 .. 和 with ... 相同的方式使用 log 也没有显示任何内容。

如果我执行 git log,我确实会看到我在性能分支上所做的提交以及我对性能的评论。

谢谢,院长

4

1 回答 1

2

首先,找到分支点。您可以使用以下merge-base命令执行此操作:

$ git merge-base performance master
cafebabe01234567...

注意:如果您不记得命令,merge-base您可以随时使用gitx///等。直观地找到分支点。gitkgitg

然后,您可以从分支点到性能分支的尖端进行差异:

$ git diff cafebabe01234567... performance

或者,在一行中,

$ git diff $(git merge-base performance master) performance

请记住git diff,如果您想更改其显示差异的方式,则需要选项。请参阅手册页

于 2013-07-05T17:29:28.877 回答