10

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

当我使用命令时,

git diff --color master..origin/master

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

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

谢谢。

4

3 回答 3

12

我相信您可以在命令的两个分支之间放置 3 个点,然后它只在第二个分支中执行相对于第一个分支的新功能,即

git diff master...feature

查看功能的新功能,以及

git diff feature...master

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

于 2013-07-12T14:47:33.607 回答
1

您可以与共同祖先进行区分:

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

或者使用您之前的获取:

git diff origin/master@{1} origin/master
于 2013-02-04T07:50:38.813 回答
1

试试看git help rev-list。您可能正在寻找的选项是--right-only,所以也许这可以满足您的需求:

git diff --color --right-only master..origin/master
于 2013-12-04T08:29:59.013 回答