git - 我有两个不同的分支,有着不同的历史。如何从功能分支中获取更改并合并到两者?
问题描述
正如标题所说,我有一个开发分支和一个维护分支。发布分支与维护分支有不同的历史。
创建并处理了一个基于开发分支的新功能分支,并向开发分支创建了一个拉取请求。
但现在的问题是,我们想要将在功能分支中所做的提交应用到维护分支。而且我们无法将功能分支合并到维护分支,因为它具有不同的历史记录,并且我们在开发分支中有一些我们不希望在维护分支中出现的代码。我们将如何做这件事?
解决方案
如果您想应用在历史上特定时间发生的一堆特定提交所引入的更改而不保留此来源的痕迹,您可以使用
git cherry-pick <your commits>
…重新应用它们。
如果你想在前一个的基础上重建一个全新的特性分支,并且只想获取大致所有的提交,除了一些需要首先调整的例外,你可能想要使用
git rebase -i
反而。
推荐阅读
- java - 如何修复 org.eclipse.jgit.api.errors.JGitInternalException:Entry not found by path Exception while doing commit using Egit
- python - 如果条目本身是结构化数组,如何将 numpy 数组中的条目设置为 0 或 None?
- python - 只获取一些标签
使用网站上的 BeautifulSoup
- sql-server - 当 Duration_Hours 是另一个数据库表的 LEFT JOIN 时,如何求和?
- apache-kafka-streams - 我可以在 Kafka 中压缩 KafkaStream 使用的中间主题(状态存储)吗
- python - 即使我使用的是 try 和 except 方法,也无法避免 ElementNotVisibleException
- python - 为什么使用 pandas 和 xlsxwriter 会出现值错误?
- php - PHP exif_read_data():无法打开文件查询
- java - xsd 模式生成的类中的问题
- scala - LazyList .scanLeft() 在空列表上调用