在GUI中探索git diff输出?

在GUI中探索git diff输出?,git,git-diff,Git,Git Diff,是否有允许在GUI中探索git diff命令输出的程序 我要寻找的是类似于SmartGit如何显示工作副本和头部之间差异的视图的东西。其中显示与头部不同的每个文件,并显示聚焦文件的差异 我不确定是否可以让SmartGit显示“git diff”命令的输出 有一个--ext diff选项,该选项将diff输出传输到外部diff程序。已知使用Git的流行开源diff程序包括和。Git difftool将运行所有流行的程序,如meld、tkdiff等。对于合并,您也可以运行Git mergetool

是否有允许在GUI中探索git diff命令输出的程序

我要寻找的是类似于SmartGit如何显示工作副本和头部之间差异的视图的东西。其中显示与头部不同的每个文件,并显示聚焦文件的差异

我不确定是否可以让SmartGit显示“git diff”命令的输出


有一个
--ext diff
选项,该选项将diff输出传输到外部diff程序。已知使用Git的流行开源diff程序包括和。

Git difftool将运行所有流行的程序,如meld、tkdiff等。对于合并,您也可以运行Git mergetool

我不确定我是否正确理解了您的问题,但显然在SmartGit()的下一个版本中,您可以使用日志窗口在任意提交之间进行差异-我还没有尝试过。

从git v1.7.11开始,您可以使用来执行目录差异

下面的答案适用于早于v1.7.11的git安装


正如其他人提到的,
gitdifftool
可用于在GUI中打开您的diff。但是,如果您有多个有更改的文件,它将为每个文件打开一个单独的GUI实例

我编写了一个脚本来解决这个“特性”,并允许在单个GUI实例中打开所有文件。你可以找到那个

此外,您可能对这个相关的SO问题感兴趣:


我知道您正在寻找的是GUI而不是TUI,但是vi/vim/vimdiff将显示一个带有语法高亮显示的diff文件:
查看更改.diff
,其中
更改.diff
是通过执行
git--no pager diff>更改.diff>创建的。我一直在到处寻找可以读取其中一个文件的GUI,但是没有用-
meld
有一个
--comparison file=comparison\u file
选项,但是不管这种比较文件格式是什么,它都不适用于常规(统一)文件diff输出。

很好地做到了这一点-不需要对创建.diff文件的基本“git diff”命令进行配置更改。Beyond Compare显示文件树视图中.diff文件中引用的所有文件,以及选择每个文件时的差异


在Beyond Compare中,使用“工具->查看补丁”菜单选项

JetBrains产品,如IntelliJ、GoLand、PyCharm等都内置了diff工具。如果您想在当前提交和上一次提交之间有一个差异,只需右键单击代码行左侧并打开注释,然后单击任何注释,您将查看所有文件的差异


此外,如果您想查看当前分支与其他分支(如origin/master)的差异,也可以这样做。您只需右键单击根目录并将鼠标悬停在Git菜单上,然后单击Compare with Branch并选择master。您可以一起查看所有差异,就像在Github上查看拉取请求一样。

如果您想要一个人性化的UI,但仍然希望留在您的终端中,您可以使用:

git tui diff[args…]

安装

sudo snap安装git-tui

免责声明:我是作者

这是一个麻省理工学院许可证下的开放项目。

这里就是这样做的-Diffy-一个共享diffs的工具


在那里,您可以粘贴您的差异文本输出,或上载包含差异输出的文件,然后它会自动在树资源管理器上显示差异。对于没有任何权限在计算机上安装程序的情况(谢谢,雇主!),这很好。

我不太明白您所要求的与您所展示的有什么不同。有什么原因不能使用SmartGit吗?或者你是在问SmartGit的替代品吗?我希望看到任何git diff输出的样式与图像类似。SmartGit基本上只显示工作拷贝到头部的差异。SmartGit的差异显示看起来非常类似,可以独立运行。我有类似的要求。我们使用
sshfs
编辑登台服务器上的代码。试图在
sshfs
上运行任何git命令都非常慢。当然,通过ssh登录时在服务器上执行的git命令正常工作。我想做的是在服务器上运行
git diff
,并将输出捕获到一个文件中,例如
git——无分页器diff>changes.diff
,通过
sftp
scp
本地获取该文件的副本,并在类似
meld
的GUI中查看
更改.diff
。而不是在
sshfs
上运行
git diff
git difftool
。有人吗?太好了!我一直在使用Fork,却错过了“showdiff With Working Tree”特性。很高兴你在Jetbrains的创意中找到了它