如何更改某个提交内容/如何把当前改动追加到某次commit上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改某个提交内容/如何把当前改动追加到某次commit上相关的知识,希望对你有一定的参考价值。

参考技术A 可以使用cherry-pick将某个功能点从branchA移动到branchB上, 步骤如下:

切到branchB分支上
执行命令git cherry-pick 0096b95 7bfbaaa 326d7d8
那么问题来了, 如果某个功能点提交了很多次且log信息不规范, 那我们找commit-hash的时候就得费一番功夫了, 可不可以将后来的改动追加到以前的某个commit上呢? 或者直接更改改以前的某次提交?

答案是: 可以! (git中将当前改动追加到上一次提交上可以使用命令git commit --amend实现, 下面介绍的两种解决方案都使用了这样命令)

如何对打开的合并请求提交新的更改?

【中文标题】如何对打开的合并请求提交新的更改?【英文标题】:How to commit new changes to an open merge request? 【发布时间】:2021-09-20 17:00:05 【问题描述】:

我不熟悉分支和 git。

我开发了一些测试用例并创建了新分支来推送该分支中的更改,并在 GitLab 中打开了一个合并请求以合并到主分支中。

PR 之后,我的审稿人强调了一些代码重构和其他小改动。

现在,我已经进行了这些更改,合并请求仍处于打开状态。如何将新更改/提交推送到已打开的合并请求?

【问题讨论】:

只需将提交推送到同一个分支。 那么,我应该遵循这些步骤吗? -> 混帐添加。 -> git commit --amend --no-edit -> git push 【参考方案1】:

那么,我应该遵循这些步骤吗? -> 混帐添加。 -> git commit --amend --no-edit -> git push

不需要git commit --amend:您可以进行新的提交,解释引入这些更改的原因,然后推送。

这将更新当前的 MR(GitLab 客厅中的合并请求)。

如“Merge requests versions”中所述/

每次推送到与合并请求绑定的分支时,都会创建一个新版本的合并请求差异。

当您访问包含多个推送的合并请求时,您可以选择并比较这些合并请求差异的版本。

【讨论】:

以上是关于如何更改某个提交内容/如何把当前改动追加到某次commit上的主要内容,如果未能解决你的问题,请参考以下文章

在页面上修改某个字段时,如何在提交时判断该字段有没有被修改过

git如何打补丁?

如何将本地代码提交到多个远程仓库

git常用命令以及如何与fork别人的仓库保持同步

如何将我当前的更改提交到 Git 中的不同分支 [重复]

自[重复]以来如何“撤消”git提交同时保留所有其他提交