首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将提交分组,以便在处理多个分支时创建一个简单的类似补丁的工作流。

如何将提交分组,以便在处理多个分支时创建一个简单的类似补丁的工作流。
EN

Stack Overflow用户
提问于 2018-02-07 06:03:51
回答 1查看 132关注 0票数 0

我正在处理本地化,这是一个迭代40多个分支的过程,每个分支都实现了大约40个提交。其中一些(比方说一半),几乎对所有的分支都是完全一样的。因此,我开始将提交ID (比如085cfefc9291b)复制到记事本中,然后当我希望在我的当前分支上实现这些更改时,我会从列表中选择。

我为 cherry-pick (前)提交的列表。git cherry-pick 290d953c2837):

  • 290d953c2837 ->更新产品矩阵(2017-02),
  • 9ee8c001165e6 ->成果和利益的联合化(2017-02)
  • 13156cee10d ->实现产品范围的双后端/前端
  • 80c98c492 ->肘管后端过滤
  • 15106bdc
  • 085cfefc9291b ->从前端排除产品范围

这些提交来自同一个存储库的不同分支。

一些非常适合我的工作流程的东西,可以将这些提交绑定/压缩成一个提交。这将使我能够动态地创建整个过程中的修补程序,如果我保留了长长的单独的通信列表,我可以很容易地创建不同版本的修补程序,其中一些版本中提交的更多,有些版本更少。

你知道这方面的最佳做法是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-02-07 09:59:05

  1. 根据正确的提交创建分支。
  2. 将提交的子集应用于该分支。
  3. 将这些更改压缩为一次提交。

假设您有一组提交{A,B,C,D,E,F,G}和一个基本提交Z。压缩A B C F的过程类似于:

代码语言:javascript
运行
AI代码解释
复制
#create a branch patch1 from Z
git checkout -b patch1 Z
#apply A B C F
git cherry-pick A B C F
#squash them into one commit
git reset Z --soft
git commit -m 'squash A B C F'
#create a patch of the new commit if necessary
git format-patch -1

这只是创建这样一个组合提交的可能方法之一。很难决定哪一次提交才是合适的基础。

另一种方法:

代码语言:javascript
运行
AI代码解释
复制
#create a branch patch1 from G
git branch patch1 G
#rebase and squash A B C F onto Z
git rebase -i --onto Z A^..patch1
#in the editor
  pick A
  squash B
  squash C
  squash F
#create a patch of the new commit if necessary
git format-patch -1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48665816

复制
相关文章
Git 如何从特定的提交中创建一个新的分支
通过在提交历史中单击右键,然后选择分支,你就可在当前指定的提交历史中来创建一个新的分支了。
HoneyMoose
2022/06/04
7.2K0
Git 如何从特定的提交中创建一个新的分支
git 创建分支 并 提交到远程分支 转
git branch(分支命令的使用 http://hbiao68.iteye.com/blog/2055493
双面人
2019/04/10
2.8K0
git 创建分支 并 提交到远程分支
                                                                            转
增强版 Git Flow 模型
使用 Git 的最佳方式一直存在争议。那是因为 Git 本身只详细说明了基本的分支操作,这使得它的使用模式: 即分支模型——常常成为用户有意见的地方。虽然Git 分支模型能够帮助开发者减少其在更改代码库时带来的冲突。
前端修罗场
2023/10/07
2570
增强版 Git Flow 模型
Git Flow 模型的增强版,可以是怎么样的,解决传统 Git Flow 的缺陷
使用 Git 的最佳方式一直存在争议。那是因为 Git 本身只详细说明了基本的分支操作,这使得它的使用模式: 即分支模型——常常成为用户有意见的地方。虽然Git 分支模型能够帮助开发者减少其在更改代码库时带来的冲突。
前端修罗场
2022/07/29
5780
Git Flow 模型的增强版,可以是怎么样的,解决传统 Git Flow 的缺陷
Git 创建远程分支并提交代码到远程分支
git push --set-upstream origin dev //dev为创建分支的名字
看、未来
2022/05/06
7730
Git 创建远程分支并提交代码到远程分支
Git创建远程分支并提交代码到远程分支
动图演示(选择项目右键选择 Git Bash Here,然后输入命令git branch -r):
全栈程序员站长
2022/09/07
8.6K0
Git创建远程分支并提交代码到远程分支
使用编译时注解简单实现类似 ButterKnife 的效果
本文介绍了如何通过自定义APT生成Java代码,并分析了生成代码的过程和具体实现。同时,本文还提供了关于自定义APT的代码示例和具体应用场景的详细说明。
张拭心 shixinzhang
2018/01/05
1.6K0
使用编译时注解简单实现类似 ButterKnife 的效果
5.3 分布式 Git - 维护项目
除了如何有效地参与一个项目的贡献之外,你可能也需要了解如何维护项目。 这包含接受并应用别人使用format-patch 生成并通过电子邮件发送过来的补丁,或对项目添加的远程版本库分支中的更改进行整合。 但无论是管理版本库,还是帮忙验证、审核收到的补丁,都需要同其他贡献者约定某种长期可持续的工作方式。
shaonbean
2019/05/26
6240
5.3 分布式 Git - 维护项目
如何提交你的第一个 Linux 内核补丁
Linux 内核是最大且变动最快的开源项目之一,它由大约 53,600 个文件和近 2,000 万行代码组成。在全世界范围内超过 15,600 位程序员为它贡献代码,Linux 内核项目的维护者使用了如下的协作模型。
用户8704835
2021/06/08
1.2K0
Git 命令归纳总结
有两个命令使用得最多了,从第一次调用 Git到每天的日常微调及参考,这个两个命令就是: config和 help 命令
shaonbean
2019/05/26
8770
Git工作流协作的一些经验,分支、合并、提交,推送,移除历史
版本管理在编程中的重要程度不言而喻,其中git工作流也是最主流的方式,接下来总结一下git工作流中的一些比较实用的概念和具体方法。
雪碧君
2023/02/15
5870
通过 41 个 问答方式快速了解学习 Git
Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一,不接受任何反驳)。
Javanx
2019/11/01
1.6K0
通过 41 个 问答方式快速了解学习 Git
个人比较喜欢 git add -p. 这增加了“补丁模式”的变化,这是一个内置的命令行程序。它遍历了每个更改,并要求确认是否要执行它们。
前端小智@大迁世界
2019/11/03
1.4K0
【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )
git cherry-pick 命令的作用是 将指定的 一个或若干个 提交记录 , 应用与当前的分支 ;
韩曙亮
2023/03/30
3.6K0
【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )
如何将 starrocks 的 be 的多个存储目录剔除一个?
starrocks 集群的 be 节点的多个存储目录,有一个磁盘空间过小,搭建时误配置上,如下所示:
用户9865966
2022/06/29
9010
git+github创建分支&提交并贡献代码(linux环境)
根据github官网的教程,创建一个Spoon-Knife项目的分支https://github.com/octocat/Spoon-Knife 1、在github创建指定项目分支 登陆github,进入上述Spoon-Knife项目网址,点击右上角“Fork”按钮,稍等片刻便在自己的库中创建了Spoon-Knife的分支,地址为https://github.com/myusername/Spoon-Knife.git 2、克隆项目到本地 由于此时项目只是存在与远程GitHub,所以必须克隆到本地用于开发,
囚兔
2018/02/08
1.5K0
5.2 分布式 Git - 向一个项目贡献
描述如何向一个项目贡献的主要困难在于完成贡献有很多不同的方式。 因为 Git 非常灵活,人们可以通过不同的方式来一起工作,所以描述应该如何贡献并不是非常准确 - 每一个项目都有一点儿不同。 影响因素包括活跃贡献者的数量、选择的工作流程、提交权限与可能包含的外部贡献方法。
shaonbean
2019/05/26
6040
5.2 分布式 Git - 向一个项目贡献
程序员必读:Git提交信息和分支创建规范
古话说,没有规矩不成方圆。在团队协作开发时,每个人提交代码时都会写 commit message,但如果没有规范,每个人都会有自己的书写风格,因此在翻看 git log 时经常看到的是五花八门,十分不利于阅读和维护。
Peter Shen
2020/10/09
1.8K0
程序员必读:Git提交信息和分支创建规范
3.4 Git 分支 - 分支开发工作流
现在你已经学会新建和合并分支,那么你可以或者应该用它来做些什么呢? 在本节,我们会介绍一些常见的利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出这些典型的工作模式,你可以根据项目实际情况选择一种用用看。
shaonbean
2019/05/26
4720
Git从某个分支的某次提交新建分支拉取代码
最近有个项目比较乱,新功能没有做完,develop 分支不能合并到主干,又有新的需求需要修改,但是 master 主干分支的代码又不够新。
德顺
2020/06/22
9.5K0

相似问题

从一个大分支的多个提交创建多个分支

30

从多个Git提交的IDEA创建补丁?

12

如何简单地从我最新的git提交创建一个补丁?

558

如何配置gitVersion以递增版本分支上的每次提交补丁

15

如何将git提交到基于其他分支的新分支的工作流

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档