gpt4 book ai didi

Git 与 squash merge 但保留网络图

转载 作者:太空狗 更新时间:2023-10-29 14:42:56 24 4
gpt4 key购买 nike

假设我有开发分支和 FixBullshit 分支,并且我在 FixBullshit 中有 5 次提交,我做了一个 pull 请求,但是通过 merge + squash 将开发与 FixBullshit merge ,以将其保留在开发中作为 1 次提交以使其更清晰(它是顺便说一句,最好的选择?)

事情是,在这样做之后,在 github 的网络图中,看起来 Bullshit 分支已经停止开发,但它从未 merge ,然后出现 1 个提交在开发中,但与 Bullshit 分支无关,就像它发生了在我的 git 中 https://github.com/noxerr/VRHarry/network随着分支机构的发展和“fixSensorsinput”

我做错了什么?我怎样才能在网络上创建该链接?

最佳答案

网络图显示了 git 仓库的历史,“压缩”通过压缩改变了历史。

Github 正在做的就是拿这张图

A--B--C--D--E
\
F--G--H

F--G--H 压缩成单个提交 W,并将其应用为

A--B--C--D--E--W
\
F--G--H

要执行您的建议,您可以将 F--G--H 压缩到一个提交 Q 中,然后再 merge 以制作如下图

A--B--C--D--E--I
\ /
Q--------

不幸的是,这种形式的 squash merge 改变了历史,这可能会给那些拥有旧历史本地副本的人带来问题。这可能就是为什么 Github squash 如上所述 merge ,而不是像这样.

网上有很多页面like this one关于压缩、 rebase 和其他 merge 方法的优缺点。

关于Git 与 squash merge 但保留网络图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46868873/

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