相关疑难解决方法(0)

如何列出包含等效提交的分支

在先前的问题中,有人为查找包含EXACT提交的分支提供了答案:

如何列出包含给定提交的分支

接受的答案强调,这仅适用于EXACT提交ID,而不适用于相同的提交.有人进一步指出,Git Cherry可以用来解决这个问题.

Git樱桃SEEMS适合反向; 发现提交没有推到上游.如果我不知道哪个分支创建它以及什么是上游,那么这是无用的.所以我不知道它将如何帮助解决这个问题.

有人可以解释/提供一个如何使用git cherry查找包含特定提交的"等效"的所有分支的示例吗?

git version-control

23
推荐指数
2
解决办法
3289
查看次数

比较强制推拉请求的新旧版本

通常,我的同事会对一个公开拉取请求进行一些更改,将他们的本地分支重新绑定到基本分支 - 通常也将他们的更改压缩到以前的提交中 - 并强制推送.

如何看待旧版PR与新版PR之间的变化?

我想我可以做一个git pullgit checkout $BRANCH_NAME当PR首次提出,然后git fetchgit diff $BRANCH_NAME..origin/$BRANCH_NAME对PR进行了更新后-但也将显示已通过重订引入基地分支(通常硕士),并带入PR的变化.是否有可能消除噪音并只显示PR本身的变化?

git github git-diff pull-request

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

比较git branch和rebased branch

我将一个相当古老的主题分支重新设置为主人.由于在rebase期间存在相当多的冲突,我想将旧主题分支与重新分支的分支进行比较,以确保我不会意外删除或搞砸任何有关主题的更改.我已经得到的最接近,这是版本比较的结果git diff master...topicgit diff master...topic-rebased.这种方法很有效,但是除了它不是一个非常强大的解决方案之外,在上下文代码,行号,提交哈希等的变化中,最终差异中存在很多噪声.有更简单的方法吗?

git git-rebase

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

重新调整前后的Git diff分支忽略了master中的更改

自从我上次查看它以来,我希望能够看到分支中的更改,但是忽略了同时发生的master更改。

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

我有两个提交范围c3af8fc5..7ccc4b49(由表示B - G)和4dfdabdd..301a443c(由表示E - I)。


想象一下,您正在为您的同事进行代码审查,签出他在local上的分支,您HEAD现在指向G。您进行代码审查,然后继续其他工作。

经过一段时间,新提交出现在大师(CDE)和你的同事已经解决了从您的评论的意见。他压扁的更改提交FG,因为他改名方法介绍F和固定它的用法G。他还根据Master调整了分支,以确保一切正常。

现在,您想再次进行代码审查,但是您懒于再次对整个分支进行代码审查,因此您只想查看上次更改的内容。您仍然有从本地获取的旧裁判。你是做什么?

您可以执行类似的操作git-diff G I,但这也可以向您显示master的更改,这些更改根本无济于事。

您也可以将旧的refs放在当前的master上,然后进行比较。这可能会有所帮助,但也可能存在很多冲突,这可能会使再次审查整个分支变得更加容易。


我试过差异补丁

diff <(git-diff c3af8fc5...7ccc4b49) <(git-diff 4dfdabdd...301a443c)
Run Code Online (Sandbox Code Playgroud)

它可以帮助我将注意力转移到某个地方,但这很粗糙。

您知道解决这个问题的更好,更原生的方法吗?谢谢。


编辑:我刚刚发现了interdiff,这使得比较两个diff更好

interdiff <(git-diff -U100 c3af8fc5...7ccc4b49) <(git-diff -U100 4dfdabdd...301a443c)  | colordiff
Run Code Online (Sandbox Code Playgroud)

但是仍然缺少git可能提供的上下文-所以...还有什么更好的吗?

git diff

4
推荐指数
1
解决办法
1236
查看次数