gpt4 book ai didi

git - 如何将压缩的提交视为分支?

转载 作者:太空狗 更新时间:2023-10-29 14:44:21 25 4
gpt4 key购买 nike

当我使用命令查看我的日志树时

git log --graph --decorate --pretty=oneline --abbrev-commit

我看到下一条日志消息:

* 5bfe287 Squashed commit of the following:

是否有像 --expand-squash 这样的选项可以将此类提交视为分支?

git log --graph --decorate --pretty=oneline --abbrev-commit --expand-squash

* 5bfe287 Squashed commit of the following:
|\
| * b10cbf5 Do not debug befer/after DB:: actions
| * 453e963 Debug debugger: implemented tescase for returning from debugger
|/

最佳答案

不,1 没有办法做到这一点。 Squash merge 根本不是 merge 。这是一个新的提交,它复制了一系列旧提交的组合效果,就好像你在每个旧提交上按顺序使用了 git cherry-pick -n 一样。新的 squash 提交没有指向旧提交的链接,并且旧提交甚至可能不在存储库中(它们可能从未发送给您,或者,如果您之前自己进行了这些提交,它们只是仍在您的存储库中如果你把它们留在身边,例如,通过 reflogs 或在旧分支上或其他什么)。

压缩“merge ”对于某些目的是有用的,但不应用于 stash 您以后可能希望再次看到的单个提交。对那些使用真正的 merge 。这就是真正的 merge 的目的:保留实际的历史。它与 squash merge 的目的相反:丢弃实际历史,用新的、更简单的历史替换它。


1这假定所讨论的提交是使用“挤压 merge ”功能进行的。不过,如果它是真正的 merge ,您可能已经看到了您关心的历史记录。

关于git - 如何将压缩的提交视为分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36953422/

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