git - 如何使用 meld 查看远程更改。使用 git 作为 dvcs

标签 git meld

我在 Ubuntu 10.04 上使用 GIT 作为我的 DVCS。简单地运行:

meld .

在您当前的工作目录中非常棒...显示您的工作文件夹与上次提交的差异。

我希望能够在其他情况下做同样的事情。假设我想在获取远程分支后查看更改?我该怎么做?我如何使用 meld 查看两个本地分支机构之间的差异...我很想知道是否有相对简单的方法来做到这一点。

谢谢。

最佳答案

如果您喜欢使用 meld 来比较文件和解决 merge 问题,您应该将配置选项 diff.toolmerge.tool 设置为 meld,例如

git config diff.tool meld

然后您可以使用 git difftool master origin/master 查看本地 master 和最近获取的 master 版本之间的差异来自来源。但是,这只会一次显示一个文件的差异 - 您必须退出 meld 并按回车键才能看到下一个文件中的更改。如果您想在 meld 中查看两个分支之间的所有差异,使用它的递归 View ,恐怕没有一种单行的方法可以做到这一点。

但是,我写了一个简短的脚本来回答一个非常相似的问题,该问题需要两个引用(例如两个分支),将它们解压缩到临时目录并运行 meld 来比较两者:

无论如何,如果您刚刚运行了 git fetch,您可以使用该脚本比较您的 master 和来自 origin 的版本之间的差异与:

meld-compare-refs.py master origin/master

... 或将两个本地分支机构与:

meld-compare-refs.py master topic1

关于git - 如何使用 meld 查看远程更改。使用 git 作为 dvcs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5255511/

相关文章:

git - .gitignore 提交后

Git merge 驱动程序 - 如何查找 merge 文件的完整路径?

javascript - 有没有办法使用 sinon 测试下面的代码

Mercurial:回顾性 merge 修订

python - 合并错误 "Cannot import: GTK+; No module named repository"

python - 某些应用程序使用 python 2.7,同时操作系统保留 python 2.6 (linux fedora/centos)

Windows 上的 Git Diff 和 Meld

git - pull 可以删除工作目录中的所有更改吗?

java - Git 存储库的内部版本号 Maven 插件

Git:恢复旧的 merge 而不影响其余的提交