gpt4 book ai didi

git - 如何只获取特定分支的 Git 日志?

转载 作者:太空狗 更新时间:2023-10-29 13:09:37 25 4
gpt4 key购买 nike

假设以下 Git 历史:

Branch1     B---C-------F---G
/ \ \
Master A-------D---E-------H

执行 git log master 按以下顺序提供日志条目 A-B-C-D-E-F-G-H。 - 但我对 master-only 的历史感兴趣(即 A-D-E-H)

如何从 Branch1 中“删除”不需要的日志条目?我为 git log 尝试了很多选项,但找不到任何合适的...


这导致了我在这种情况下不理解的另一件事:

查看 git log master 给出的日志历史,它显示了我的分支主机是如何演变的(A-B-C-D-E-F-G-H)。

但是做 git checkout HEAD~1(假设 master=HEAD)给我 E(进化 HEAD~3: A - HEAD~2:D - HEAD~1:E - HEAD :H -> A-D-E-H)

这是我不明白的:H的祖先看git logG,而的祖先>H 查看 git checkoutE

我不明白 - H 的祖先是什么:GE?...


结论:我想要的只是 git logHEADHEAD~n 的条目(例如上面的 n = 1...3)。如何实现?有可能吗?

最佳答案

你要找的是

git log --first-parent

为什么这个选项叫做 --first-parent 回答了你的问题

I don't understand this - What's the ancestor of H: G or E?

答案是:两者。 E 是第一个父,但G 是第二个父,因为H 是 merge 提交。 merge 提交是指具有多个父项的提交。

关于git - 如何只获取特定分支的 Git 日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398040/

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