如何在上一次提交之前添加新的提交



我创建了一个新分支,然后在这个新分支上创建了一次新的提交。现在,我想在上一次提交之前创建一个新的提交。我不想更改以前的承诺。

我怎么能用一种简单的方法做到这一点?

首先,不能在另一个提交之前插入一个提交,而让第二个提交保留其原始SHA。但是,第二次提交所应用的更改可以保持不变。

我认为你有两个选择:

在当前提交之后创建一个提交,然后重新排序

  1. 进行更改并提交
  2. git rebase -i并重新排序提交

这样做的优点是,您可以始终git rebase --abort返回到一个干净的状态,在该状态下,所有提交都可用。另一方面,如果您的两次提交涉及相同的代码位,您将把新的更改应用到代码的当前状态,然后必须为以前的状态重新编写;这可能很复杂,也可能不复杂。

使用git-rebase -ibreak并在第一个更改之前创建新的更改

  1. git rebase -i。在更改列表的开头插入仅包含break的新行
  2. Git会在你说";"断裂";,所以在应用任何更改之前。你可以做出你需要的改变。提交您的更改(您可能希望记下提交SHA,以便在下一步出错时可以轻松地重新应用这些更改(
  3. git rebase --continue。您现有的提交将添加到当前提交的顶部。可能有冲突需要解决

这样做的好处是,当您的工作直接处于您期望的状态时,您将进行更改。

它的缺点是,如果第二次提交中存在冲突,您不能只使用git rebase --abort返回到安全的地方,因为它会丢失您的新提交。如果您确实记得记下新更改的提交SHA,那么您可以再次从步骤1开始,并执行git cherry-pick THE-SHA以将您的更改返回到步骤2。

相关内容

  • 没有找到相关文章

最新更新