相关疑难解决方法(0)

Git diff提交范围中双点".."和三点"..."之间有什么区别?

以下命令之间有什么区别?:

git diff foo master   # a 
git diff foo..master  # b
git diff foo...master # c
Run Code Online (Sandbox Code Playgroud)

diff手册谈到它:

比较分支机构

$ git diff topic master    <1>
$ git diff topic..master   <2>
$ git diff topic...master  <3>
Run Code Online (Sandbox Code Playgroud)
  1. 主题提示与主分支之间的更改.
  2. 与上述相同.
  3. 自主题分支启动以来主分支上发生的更改.

但对我来说并不完全清楚.

git diff git-diff

175
推荐指数
4
解决办法
2万
查看次数

比较Git中rebase的差异

假设我只是衍合分支foomaster,有冲突的.我想foo通过引入额外的更改或丢失更改(除了适合冲突解决的更改),确保我不会在冲突解决期间意外损坏内容.我这样做是通过:

diff -u <(git diff `git merge-base master foo@{1}` foo@{1}) \
        <(git diff `git merge-base master foo    ` foo    )
Run Code Online (Sandbox Code Playgroud)

(更新:或我刚刚提醒的等效...语法git-diff:)

diff -u <(git diff master...foo@{1}) <(git diff master...foo) | mate
Run Code Online (Sandbox Code Playgroud)

这向我展示了master..foo被认为是补丁的所有变化,这正是我想要检查的最小化.但是,调用很复杂,输出的解释并不完全简单.

有没有更好的方法来完成这项任务 - 提供相同的信息,但有更好的方法或格式 - 或者我应该采取上述内容并将其包装在脚本中?

git git-diff git-rebase

29
推荐指数
3
解决办法
9472
查看次数

有没有办法比较两个差异或补丁?

有没有办法测试两个差异或补丁是否相同?

假设您有以下git提交历史记录,其中功能F和G可以完全重新映射到E:

     G
    /
A--B--C--D--E
 \
  F
Run Code Online (Sandbox Code Playgroud)

由于我们当前部署过程的限制,我们有以下几个相关的图表(它不受版本控制)

              G'
             /
------------E'
             \
              F'
Run Code Online (Sandbox Code Playgroud)

F'和G'最终将被应用于头部E',其中一些是确定的顺序,所以它最终会像

------------E'--G'--F'
Run Code Online (Sandbox Code Playgroud)

有没有办法测试从E'到G'的差异与B中G的Git提交产生的​​补丁相同?

我完全意识到,在一个理想的世界中,修订控制可以解决这个问题,而且我们已经到了那里,但那不是我们现在所处的位置.

你可以基本上在单独的结账时播放两个补丁并比较输出,但这看起来很笨重.并且比较差异本身,我假设,不会工作,因为行号可能会改变.即使G'和F'被重新定义为E',F'的补丁也将最终应用于G',使得补丁的差异上下文不同.

git version-control

27
推荐指数
3
解决办法
7758
查看次数

用差异衍射差异?

我需要知道这两个补丁是否实际相同.

我有一个旧的补丁文件和使用unix diff命令创建的新补丁文件.只是差异补丁报告由于创建补丁时的时间戳而产生的差异.

有没有办法(使用diff?)能够可靠地告诉我这两个补丁是否实际相同?

unix shell diff patch

21
推荐指数
2
解决办法
3981
查看次数

有人可以解释一下git range-diff的用法吗?

Git版本2.19引入了git range-diff应该用于比较两个提交范围的版本.我一直在阅读文档,但我不明白这个新功能的目的是什么.

我检查了官方的Git文档,我无法理解它的语法(省略标志):

git range-diff ( <range1> <range2> | <rev1>...?<rev2> | <base> <rev1> <rev2> )
Run Code Online (Sandbox Code Playgroud)

什么是rev1rev2

有人可以解释它们何时有用我的意思是每个案例?

git

8
推荐指数
2
解决办法
756
查看次数

标签 统计

git ×4

diff ×2

git-diff ×2

git-rebase ×1

patch ×1

shell ×1

unix ×1

version-control ×1