gpt4 book ai didi

git - 如何 git merge --squash 以便 github "network"图显示 merge

转载 作者:太空狗 更新时间:2023-10-29 12:59:57 25 4
gpt4 key购买 nike

假设你有这个:

     master: o--o--o
development: `o--o--o

我想将更改 merge 为一个提交(避免所有垃圾提交):

git checkout master
git merge --squash development

但是 github 网络页面显示了这个:

     master: o--o--o---------o
development: `o--o--o

你应该做什么,它会显示你所期望的,即:

     master: o--o--o---------o
development: `o--o--o’

最佳答案

对于最后一张图,您可以使用以下命令:

git merge --no-ff
git branch -d development

master: o--o--o---------o
`o--o--o’

你告诉 git 创建一个 merge 提交,即使 merge 的分支是快进的,即 master 的最后一次提交是 merge 分支的直接祖先。

请注意,“垃圾提交”不会被删除,但除非您有充分的理由,否则您应该保持历史原样。压缩提交使得浏览历史变得困难。

如果你觉得你的开发分支历史充满了垃圾,你也可以在 merge 之前重写它,使用交互式 rebase。

git checkout developement
git rebase -i master

您将能够选择、编辑、重新排序、压缩或丢弃提交并重写您的分支历史记录。完成此操作后,使用经典 merge (根据您的喜好使用或不使用 --no-ff)。

关于git - 如何 git merge --squash 以便 github "network"图显示 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19043192/

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