git中与hg outgoing (hg out)或hg incoming (hg in)相对应的是什么?

98

可能是重复问题:
我如何查看git中的传入提交?

在Git中,与“hg outgoing”或“hg incoming”相当的命令是什么?

在Mercurial中,hg outgoing会列出那些比服务器上更新的changeset,如果我执行hg push,它们将被发送。对于hg incominghg pull,情况反过来。


3
hg inhg out 是做什么用的?这些信息可能会帮助你得到答案;大多数人不使用 Mercurial。 :P - cHao
9
Mercurial最大的缺陷在于它无法与GitHub配合使用。 =) - anatoly techtonik
2
@techtonik 但是,现在未来已经到来了,hg-git - binki
1
@binki,是的!现在它符合预期地与GitHub一起工作。https://bitbucket.org/durin42/hg-git/issues/144/support-github-urls =) - anatoly techtonik
@binki,GitHub 把它们称为 SSH URL,如果你想了解更多请问他们 https://help.github.com/articles/which-remote-url-should-i-use/ - anatoly techtonik
显示剩余2条评论
1个回答

102

如果你想列出在分支B上但不在分支A上的提交,请使用git log A..B

如果你想列出在本地分支dev上但不在远程分支origin/dev上的提交,请执行以下操作:

git fetch origin             # Update origin/dev if needed
git log origin/dev..dev

如果您想列出远程分支上存在但本地分支上不存在的提交记录,只需进行相反操作:

git fetch origin             # Update origin/dev if needed
git log dev..origin/dev

注意:您可能会发现使用 gitk origin origin/dev 以图形方式比较分支更容易。


4
如果我想要一个列出本地仓库中不在远程仓库的提交记录列表,无论分支如何,该怎么做? - Jorn
1
@Jorn 《git log》的man页面有一个示例部分,您可以在那里找到一个完全符合您要求的示例。 (如果您找不到,请将其作为单独的问题提交,因为它与原始问题无关。) - adl
11
@adl,hmm,“hg outgoing” 显示所有分支,这正是 @Jorn 所询问的。这意味着该答案对于这个问题是无效的......或者该答案没有讨论 “hg push”的默认行为更像是“git push --mirror”而不是“git push”;-)。 - binki
5
怎样在不拉取(fetching)的情况下完成这个操作?我不想改变我的本地代码库,只是想看一下如果我执行了fetch会发生什么,但是又不想真正执行fetch。 - Jason S
30
所以回答原始问题(这个答案并没有回答)。在Git中可以通过git log --branches --not --remotes=origin来执行hg outgoing - Michael
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接