相关疑难解决方法(0)

当前分支和主服务器之间的Git差异,但不包括未合并的主提交

我想要一个尚未合并到master的分支中的所有更改的差异.

我试过了:

git diff master
git diff branch..master
git diff branch...master
Run Code Online (Sandbox Code Playgroud)

但是,在每种情况下,diff都包含master中尚未合并到我的分支中的内容.

有没有办法在我的分支和主人之间做一个差异,排除了尚未合并到我的分支的主人的变化呢?

git version-control diff merge git-diff

147
推荐指数
4
解决办法
15万
查看次数

Git - 如果我有SHA-1哈希,最简单的方法来查看与之前版本的差异

我的一位同事检查了Git的一些变化,我想确切地看到这些变化是什么.换句话说,他的登记入住与其父母之间的差异.

对我来说合乎逻辑的是运行这个命令:

git diff shaOfHisCheckIn
Run Code Online (Sandbox Code Playgroud)

但这没效果.它似乎显示了SHA-1哈希与我当前工作副本之间的差异.

显示给定SHA-1哈希与其父级之间差异的正确命令是什么?

git git-diff

34
推荐指数
3
解决办法
2万
查看次数

Windows上的Git Diff和Meld

有没有人让Meld在Windows上与Git合作?我试图让它工作,我没有成功.

我安装了Meld,当我从命令行调用它时有两个文件作为参数,它们很好地区分它们以便正确安装Meld.但是我无法使用Git(Git Diff).我使用的git version 1.8.1.msysgit.1是Git 版本.

我尝试了几件事:我创建了一个shell脚本,meld.sh:

#!/bin/bash
meld.exe "$2" "$5"
echo $2
echo $5
Run Code Online (Sandbox Code Playgroud)

并从Git中使用它:

[diff]
    tool = meld

[difftool "meld"]
    cmd = \"D:\\meld.sh\"
Run Code Online (Sandbox Code Playgroud)

我试着把它添加为像这样的difftool:

[diff]
    tool = meld

[difftool "meld"]
    cmd = \"C:\\Program Files (x86)\\Meld\\meld\\meld.exe\" 
Run Code Online (Sandbox Code Playgroud)

或者像这样:

[diff]
    tool = meld

[difftool "meld"]
    cmd = '\"/c/Program Files (x86)/Meld/meld/meld.exe\" $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE --output=$PWD/$MERGED'
Run Code Online (Sandbox Code Playgroud)

但它似乎真的不起作用.我还试图从我的shell脚本中回显第二个($ 2)和第五个($ 5)参数,没有输出.我还尝试过以下几种方式使用批处理脚本:

meld.exe %2 %5
Run Code Online (Sandbox Code Playgroud)

要么

meld.exe %~2 %~5
Run Code Online (Sandbox Code Playgroud)

但它确实不起作用......如何在传播Git到Meld时传递文件的两个版本?这很烦人......

git git-diff meld msysgit difftool

16
推荐指数
3
解决办法
2万
查看次数

`git diff` 和 `git difftool` 有什么区别?

git diff和 和有git difftool什么区别?

我看到我可以编辑 git 的配置文件以轻松更改调用时使用的外部工具git difftool,并且似乎将git diff补丁输出到命令行。

我为什么要使用git diff

git

8
推荐指数
1
解决办法
1850
查看次数

标签 统计

git ×4

git-diff ×3

diff ×1

difftool ×1

meld ×1

merge ×1

msysgit ×1

version-control ×1