gpt4 book ai didi

Git diff 工作不正确 - 许多更改

转载 作者:行者123 更新时间:2023-12-02 04:44:23 24 4
gpt4 key购买 nike

           f1---f2                 - short term branch "feature1"
/ \
h--h--h---h--h1--h2- - long term branch "hofix"
/ \ \ \
/ \ \ \
m----m------m---m------m-- - long term branch "master"
| |
1e1e1e 2f2f2f

我 merge 有 2 个提交差异的分支(总共更改了 15 个文件)。然后跑:

$ git show --pretty="format:" --name-only 1e1e1e..2f2f2f

我收到超过 42 000 个从我的项目更改的文件。为什么?

预期:我将显示 f1、f2、h1、h2 提交的差异

附言可能是因为“Merge branch 'origin/0411-hotfix'”提交?

最佳答案

1e1e1e..2f2f2f 表示:

  • 可从 2f2f2f
  • 访问的所有提交
  • 排除那些可以从 1e1e1e
  • 到达的

(参见 SPECIFYING RANGE 中的“gitrevisions ”)

如果这些 SHA1 引用了 merge 的两个提交,则您:

    1e1e1e
|
x--x--x
\
Z
/
y--y--y
|
2f2f2f

这将为您提供所有“y”提交的所有文件,这可能会一直到第一次提交,这意味着您将获得所有文件。

但是,由于 git diff 接受一系列提交(与 git show 相对),您可以尝试,如“How to “git show” a merge commit with combined diff output ”:

git diff --name-only 1e1e1e..2f2f2f

或者简单地使用 merge SHA1 'Z',如“List all modified files in git merge commit - even the fast forwarded”:

git log -m -1 --name-only --pretty="format:" <Merge SHA>

关于Git diff 工作不正确 - 许多更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com