8

我愿意

git pull

从远程获取新提交并将它们与我的本地分支合并。

如何列出“刚进来”的提交?

4

7 回答 7

15

你可以使用这个:

git log @{1}..

这与

git log currentbranch@{1}..currentbranch

其中@{1}符号表示“分支在上次更新之前指向的提交”。

这会准确地向您显示合并的提交。

于 2012-08-31T15:40:39.797 回答
3

如果你这样做git pull,它会自动合并提交;你不能只看新的,而是git log会给你一个所有提交的列表。

如果您只是fetch编辑提交,您可能会在合并之前列出它们,但我认为这可能有点毫无意义。

编辑:快速浏览一下 Internet 似乎告诉我git log -p ..FETCH_HEAD会列出已获取但未合并的提交,这是一个有趣的事实,以防您发现自己只需要查看已获取的提交。

另一个: ellotheth 在他们的评论中的链接似乎有一个解决方案,甚至可以与拉动一起使用。它似乎可以使用git diff,但也许git log ORIG_HEAD..或类似的也可以吗?

...尽管如此,使用fetchandmerge而不是pull实际上可能是明智的做法,特别是如果您假设您不一定要立即或根本不合并所有提交。

于 2012-08-31T13:48:39.287 回答
2

我认为

git log --topo-order

应该管用。

它应该按照它们到达当前分支的顺序显示日志条目——而不是时间顺序。

于 2012-08-31T17:03:30.077 回答
1

我会推迟你

git help log

查看可能对您的案件有帮助的选项。也许你想要这个--first-parent选项?

我个人经常这样做:

git log -n 5 --oneline

于 2012-08-31T13:50:08.733 回答
1

如果您只对特定分支感兴趣(例如,master),您可以在输出中git fetch使用具有该分支名称的行:

6ec1a9c..91f6e69  master     -> origin/master

并用它来构造一个git log命令

git log --graph --decorate 6ec1a9c..91f6e69

这两个句点的意思是“在第二个提交(原点/主)中但不在第一个(主)中的所有提交”,这就是您要查找的内容。

于 2014-05-01T14:50:46.013 回答
1

首先调用git fetch 然后:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..origin/master

这将显示如下内容:

* d3e3a17 - (origin/master, origin/HEAD) Fix test (3 minutes ago)
* a065a9c - Fix exec count (4 minutes ago)

相关:如何查看 git 中分支之间的提交差异?

于 2018-01-15T07:36:27.057 回答
-1

它是

git log

你正在寻找

关于 git log 的文档

于 2012-08-31T13:46:59.120 回答