我怎样才能看到传入的提交git?

可能重复:
使用Git如何find本地和远程之间的修改文件

我怎样才能看到传入的提交git? 或者甚至更好,看看我只是git fetch / git pull编辑?

编辑:澄清这个问题:有人告诉我,为了得到一些修复,我应该从他们的存储库拉。 我的目标是接受他们之前看看他们的变化是什么。 git pull自动合并,这不是我想要的。 git fetch会抓住它们而不合并,但是我不确定如何查看我刚刚拉入的内容。原始语句的原因是我通常使用Mercurial,其中命令是hg incoming <repo name here> -a git似乎缺less一个类似的命令。

incoming不是一个在Git中的直接映射,因为你可以(而且我经常这样做)有多个你从中抽取的回购,每个回购有多个分支。

如果有相当于hg的传入命令,可能是这样的:

 git fetch && git log ..origin/master 

也就是说,“抓住所有来自上游的东西,然后比较我的当前分支与上游主分支”。

同样,传出将是这样的:

 git fetch && git log origin/master.. 

在实践中,我只是手动input这些(即使我为其中的一个创build了一个别名),因为很多本地分支很容易跟踪和被很多远程分支跟踪,并且没有麻烦。

你也可能对git whatchanged感兴趣,它可以很好地概述在某些提交范围内所做的更改。

如果你想查看你要git fetch首先做一个git fetch ,它只更新远程仓库的本地跟踪分支(而不是你的任何分支),然后使用任何显示新提交的命令你即将拉。 例如:

 git whatchanged ..origin 

这是显示“我的现在和起源的共同祖先”到“起源”之间的承诺的简写。

您可能想要检查两个存储库之间的差异。 假设你有一个本地分支“主”和一个远程跟踪分支“起源/主”,其他人提交他们的代码,你可以得到不同的统计两个分支的差异:

 git diff --summary master origin/master git diff --stat master origin/master git diff --numstat master origin/master git diff --dirstat master origin/master git diff --shortstat master origin/master git diff --name-only master origin/master git diff master origin/master 

当有人告诉你拉,他们会给你回购URL和分支(默认是master )。

我只是做

 git fetch URL branch 

其次是一个(按照优先顺序):

 # note 3 dots in next 3 commands gitk HEAD...FETCH_HEAD # shows all commits on both sides since the "fork" point gitk --cherry-pick HEAD...FETCH_HEAD # as above but skips identical patches so you really see the differences git log --graph --boundary --left-right --cherry-pick --decorate HEAD...FETCH_HEAD # I have a nice alias for this; it's the text mode eqvt of the above 

我也有时用“ tig ”,但是这个具体的用例(看双方)并没有很好的服务。

但是,如果你把它放到两个点(这可能会更贴近你的实际问题,但我仍然喜欢3点的版本),你可以做

 tig HEAD..FETCH_HEAD 

以下是方便的别名:

 incoming = !sh -c 'git fetch && git log --graph --boundary --left-right --cherry-pick --decorate HEAD..FETCH_HEAD' outgoing = !sh -c 'git fetch && git log --graph --boundary --left-right --cherry-pick --decorate FETCH_HEAD..HEAD' 

没有“传入提交”用户在本地提交并推送它们的情况。 我会打开gitx或gitk(与git一起),看看回购看起来是什么样子…我认为这会给你一个清晰的看法。

使用: gitk --all – 全部查看。

看看这个post。 它显示了在git 1.7版本中引入的一个新function的用法。 使用Git如何查找本地和远程之间的变化