【问题标题】:How to compare local with remote git repo in PhpStorm?如何在 PhpStorm 中比较本地和远程 git repo?
【发布时间】:2015-12-04 01:59:35
【问题描述】:

我被困在如何将本地文件与远程仓库中的文件进行比较。

以截图为例。

我右键单击 app.js Git > 与分支比较

我选择了 origin/master(要比较的远程仓库)。 Phpstorm 报告文件中没有差异。但是,我知道情况并非如此。

在屏幕截图中,项目 #1(见箭头)是 bitbucket 上的远程文件。项目#3 是本地文件。 Phpstorm 报告没有差异(第 2 项)。

更新

我已经学会了 git 命令行命令来做我想做的事。感谢@Shahbaz

假设我有本地master 和远程origin/master

所以,要查看本地文件 index.js 和远程文件 index.js 之间的区别,我会执行以下操作

$> git fetch origin
$> git diff master origin/master -- index.js

也许通过提供命令行命令,有人可以告诉我 PhpStorm 等效于获得 graphical 差异。

【问题讨论】:

  • 从 bitbucket 获取最新更改到本地存储库。在 phpstorm 中运行 git pullCtrl+T
  • @funivan 我还没有尝试将文件拉到本地存储库(还)。我只是想将本地文件与它在远程的最新提交进行比较

标签: git phpstorm


【解决方案1】:

为了查看文件的本地版本和文件的最新远程版本之间的图形差异,请依次运行以下两个命令:

  1. VCS 菜单 > Git > Fetch
  2. VCS 菜单 > Git > 与最新存储库版本比较

这里的重要步骤是主动获取(而不是)远程存储库中的最新数据。如果您有兴趣,这将有助于更详细地解释:What is the difference between 'git pull' and 'git fetch'?

【讨论】:

  • 谢谢。这就是我想要的。解释差异的链接很有帮助。借用 Adob​​e Lightroom 的比喻(我是一名摄影师),它有点像 RAW 文件和 xml sidecar。进行提取会将遥控器作为我工作的 RAW 代码的边车。然后 Diff 命令比较工作文件和边车文件。这很酷,但作为一个外行,通过将我的工作文件与实际的遥控器进行比较不会完成同样的事情;为什么要降低文件的中间步骤?接受你的回答。干杯!
  • 酷,很高兴它对您有所帮助。至于您的问题,“为什么要降低文件的中间步骤?” -- 这是必要的,因为您的本地 git 存储库不会自动通知服务器端更改。您可以获知远程服务器上的任何文件更改的唯一方法是手动询问服务器,“再次嗨。自我们上次通话以来有什么变化吗?”。如果 PhpStorm 提供了将“fetch & diff”抽象为单个 UI 命令的能力,那肯定会很好,但目前,您必须分别处理它们:)
  • 再次感谢超级快速的回复和帮助。自从阅读了您的链接后,我进行了更多研究,甚至看到了命令行,如果不先进行获取,就无法将本地与远程进行比较。我完全明白你的比喻,“再次嗨。自我们上次谈话以来有什么变化吗?”似乎很奇怪,没有 git 命令相当于:git diffremote master origin/master。用通俗的话来说,我告诉 git 的是“嘿,是我。只是打电话来检查自我们上次谈话以来是否有任何变化?不要担心此时发送任何数据”:)
猜你喜欢
  • 2013-08-05
  • 2021-07-03
  • 2016-01-12
  • 2010-12-20
  • 2018-02-06
  • 2012-02-07
  • 1970-01-01
  • 2016-10-01
  • 2010-11-30
相关资源
最近更新 更多