git diff - 只展示遥控器上的新功能

时间:2013-02-03 07:08:43

标签: git git-diff

我在github上有一个本地仓库和一个远程仓库。出于商业原因,它们不同步。我在当地做了很多工作,现在我正在手动将新的东西添加到我的本地。没有分支。

当我使用命令时,

git diff --color master..origin/master

我得到了很好的结果,显示了改变了......我添加到本地仓库的东西标有 - 符号,并以红色显示;而遥控器上的内容显示为带有+符号的绿色。

有没有办法只显示远程上的新功能,而不是本地?也就是说,向我展示遥控器上的任何新文件,并在遥控器上显示文件中的任何新行或修改行(显示所有绿色+')

感谢。

3 个答案:

答案 0 :(得分:10)

我相信你可以在命令中的两个分支之间放置3个点,然后它在第二个分支中只有新的第一个,即。

git diff master...feature

了解功能的新功能,

git diff feature...master

看看主人有什么新东西。在您的情况下,功能可以是origin/master,这应该可以正常工作。

答案 1 :(得分:1)

你可以与共同的祖先进行差异化:

git diff `git merge-base master origin/master` origin/master

或者您之前的抓取:

git diff origin/master@{1} origin/master

答案 2 :(得分:1)

尝试查看git help rev-list。你可能正在寻找的选项是--right-only,所以也许这可以得到你想要的东西:

git diff --color --right-only master..origin/master