繁体   English   中英

合并拉取请求后,如何防止来自功能分支的提交出现在开发分支中?

[英]How to prevent commits from a feature branch from showing up in the dev branch after the pull request is merged?

我做了什么

在本地仓库中:

  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按钮合并,该按钮声称使用--no-ff



拉取请求图像拉取请求


我想要达到的目标

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

来自回购的相关图片

功能分支提交: 功能分支提交

开发分支提交: dev 分支提交

笔记:

  • 我是git的新手。 所以,我的想法可能是错误的。 如果是这种情况,请指出我的错误并告诉我什么是正确的。
  • 任何建议都非常感激。 提前致谢。

正如其他人在评论中指出的那样,当您合并 PR 时,您正在寻找的是 squash 选项。

当您压缩合并时,这会更改目标分支上显示的内容,但不会更改源分支上的内容。 所以在 dev 上,你会看到一个提交。 但是在功能分支上,只要不删除它,您将继续看到所有原始功能提交。 PR 将继续持有指向该分支的指针。

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

怎么做

在 GitHub

准备好 PR 合并后,请确保使用 GitHub 的“压缩和合并”方法将其合并:

压缩和合并 PR

在 Git CLI 上

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

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

结果

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM