gpt4 book ai didi

git - Squash 直接在功能上提交,无需 rebase 或 merge

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

我已经阅读了一些关于 --squashing 提交的内容,但它们似乎都与 --rebase 齐头并进。

我有一个功能分支,其中有一组这样的提交:

(Feature)          A --> B --> C --> D --> E --> F --> G
/
(Master) M1 --> M2 --> M3

假设我想 merge 回 Master 分支,但我想先清理我的功能上的提交。

是否可以:

  • 选择提交 B、E 和 F 并将它们 merge 为一个提交?

  • 我能否只压缩按顺序提交的提交,所以压缩:(A、B 和 C)或压缩(D、E 和 F)等?

无论哪种方式,我都可以直接对我的功能进行压缩,而无需使用它立即初始化 MergeRebase 吗?

如果是这样,我如何使用 Git 执行此操作?

最佳答案

在我团队的工作流程中,我们经常在一堆提交的中间与上游 merge ,而 rebase 可能会变得很丑陋。我发现这有助于将 master 之前的所有提交压缩为一个:

# Commit any working changes on branch "mybranchname", then...
git checkout master
git checkout -b mybranchname_temp
git merge --squash mybranchname
git commit -am "Message describing all squashed commits"
git branch -m mybranchname mybranchname_unsquashed
git branch -m mybranchname

# Optional cleanup:
git branch -D mybranchname_unsquashed

# If squashing already-pushed commits...
git push -f

关于git - Squash 直接在功能上提交,无需 rebase 或 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31409736/

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