gpt4 book ai didi

git - merge pull 请求后,如何防止来自功能分支的提交显示在开发分支中?

转载 作者:行者123 更新时间:2023-12-05 04:36:04 26 4
gpt4 key购买 nike

我做了什么

在本地仓库中:

  1. git checkout -b feature/db/projectImport dev
  2. 做出改变
  3. git add .git commit
  4. git push origin feature/db/projectImport(留在那个分支)

现在在 GitHub 中:
5. 点击Compare & pull request按钮,最后用默认 merge 按钮 merge ,默认 merge 按钮声称使用--no-ff



pull 请求图片 pull request


我想要实现的目标

  • 我不希望来自功能分支的提交消息出现在开发分支的提交消息中。
  • 当我将 feature 分支 merge 到 dev 时,feature 分支将保留其所有提交,但 dev 分支将只有 merge 犯罪。 这可能吗???

repo 中的相关图片

功能分支提交: feature branch commits

开发分支提交: dev branch commits

注意:

  • 我是 git 的新手。所以,我的想法可能是错误的。如果是这样,请指出我的错误并告诉我正确的地方。
  • 非常感谢收到任何建议。提前致谢。

最佳答案

正如其他人在评论中指出的那样,您正在寻找的是 merge PR 时的压缩选项。

当你压缩 merge 时,这会改变目标分支上的内容,但不会改变源分支上的内容。所以在 dev 上,你会看到一个提交。但是在特性分支上,只要你不删除它,你就会继续看到你所有的原始特性提交。并且 PR 将继续持有指向该分支的指针。

现在,这对我来说是一个有点有趣的工作流程:当我 merge 一个 PR 时,我系统地删除了功能分支。但是您的工作流程也应该工作正常。

怎么做

在 GitHub 上

准备好 merge PR 后,确保使用 GitHub 的“压缩和 merge ”方法 merge 它:

squash and merge a PR

在 Git CLI 上

如果您在自己的计算机上进行 merge ,则可以像这样完成相同的操作:

git checkout dev
git merge --squash feature/feature-name
git push origin dev

结果

无论使用哪种方法,您都可以为压缩的提交编写一条新消息,该消息将添加到 dev

完成 merge 后,dev 将有一个新的提交,分支 feature/feature-name 将保持不变。

关于git - merge pull 请求后,如何防止来自功能分支的提交显示在开发分支中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70894488/

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