【问题标题】:Compare committed revision with server one for the same branch将提交的修订版与同一分支的服务器一进行比较
【发布时间】:2015-09-02 15:47:45
【问题描述】:

在 git 中有一个关于修订比较的基本问题。我可以将当​​前版本与原始版本进行比较

git diff HEAD^ HEAD

但是,我需要将当前版本 (origin/master) 与 git 服务器上同一分支的当前版本进行比较。它是在获得我的原始版本后推送的。我试图通过提交 id 进行比较(从 web gitlab 界面获得)。但是,出现以下错误:

$ git difftool 866f426ce3c4d7594500ce322b68fd1d96ced06b
fatal: bad object 866f426ce3c4d7594500ce322b68fd1d96ced06b

有一个使用建议

git diff masterbranch remotebranch

就我而言,它看起来像:

git diff master origin/master

在这种情况下,差异是当前版本与我作为更改开始时获得的原始版本的比较。然而,这个分支后来被改变了。我想将我的版本与分支origin/master 的实际状态进行比较,而不是我使用的原始版本。

【问题讨论】:

  • 谢谢。但是,两个版本都在同一个分支中 (origin/mastet)
  • git diff master origin 会起作用
  • 谢谢。但是我有fatal: ambiguous argument 'origin': unknown revision or path not in the working tree.

标签: git git-branch git-diff


【解决方案1】:

两种方法:

  1. 直接与远程服务器diff(需要连接):

    git diff masterbranch remotebranch

    例如

    git diff master origin

  2. 获取代码并区分本地:

    • 做一次 fetch (语法和 git pull 一样,但不会自动合并)
    • 在你的 dest 分支和另一个分支之间做一个差异
    • 然后根据需要进行合并

【讨论】:

  • 您可能想引用第二部分,因为它是从 git diff between remote and local repo 复制的。
  • 谢谢! (+1)实际上,第一种方法没有,因为它比较了我用作开始的分支的先前版本。第二种方法可行,但如果可能的话,我更喜欢像git fetch 那样没有不受控制的代码更改的方式。
猜你喜欢
  • 2019-05-15
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
相关资源
最近更新 更多