如何在git中将大型合并请求拆分为多个部分

Posted

技术标签:

【中文标题】如何在git中将大型合并请求拆分为多个部分【英文标题】:How to split large merge request into parts in git 【发布时间】:2021-05-24 18:42:20 【问题描述】:

我开发了一项功能,需要对 30 多个文件进行小幅更改。 现在我想发送合并请求,但审阅者不能在单个请求中审阅超过 10 个文件。 为了方便起见,我如何将此合并请求拆分为 3 个不同的请求?

我的努力: 这样做的一种方法是创建新分支,从旧分支中提取所有内容并精选文件,然后 git add git commit 和 git push 他们,

有没有更好的方法??

【问题讨论】:

当您说“不能在单个请求中查看超过 10 个文件”时,您的意思是“不能”、“不喜欢”还是“不会”?请注意,拆分多个合并请求中的代码可能会在整个事情完成之前使代码处于不稳定状态,除非您采取措施防止这种情况发生。 此外,如果您将合并请求拆分为较小部分的单独提交,则通过提交而不是一次查看所有文件可能更容易。 谢谢。 “不能”是指“不会”。我通过挑选提交并发送单独的合并请求来解决它。 【参考方案1】:

此处无需新建分支,请按照以下方式处理:

首先告诉您审阅者放弃您在 gerrit 中的提交。 运行 git 状态;如果您得到输出,例如您的分支在 'branch_name' 之前 1 次提交。然后运行“git reset --soft HEAD~1” 运行 git gui;它将打开一个 UI 界面。 取消暂存 20 个文件并关闭 GUI。 运行 git status,您会看到一些文件为红色(未暂存文件)和绿色(暂存文件。准备提交)颜色。 运行 git commit -m"commit_message" 运行 git push

按照相同的程序提交其余文件。

【讨论】:

【参考方案2】:

请参考此https://www.thedroidsonroids.com/blog/splitting-pull-request 以供将来参考。

【讨论】:

以上是关于如何在git中将大型合并请求拆分为多个部分的主要内容,如果未能解决你的问题,请参考以下文章

如何在SSIS中将大型Excel文件拆分为多个小文件?

如何在Android中将大型json数组拆分为页面

如何在 Postgres 中将一个类型拆分为多个列?

如何在 django 中将一个表单字段拆分为模型的多个字段?

如何在mysql中将列拆分为多个列

如何将字符串拆分为列表并在python中将两个已知令牌合并为一个?