TIL:重新定基

当我第一次开始基础调整时,我发现它令人恐惧。 我认为肯定需要进行重大更改,覆盖我为特定分支所做的所有工作,而成功做到这一点是不可能的。

但是,经过几次失败的尝试,我实际上可以说我在另一边还活着,现在,我喜欢变基!!!

因此,对于外行来说,这是您需要重新设置基准的方案:
–您是从master分支开始的,但是其他人同时将他们的更改合并到master,因此您需要合并这些更改。 应用更改的最好方法是重新设置基准。

如果将rebase命名为其他名称,例如说“ update”或“ modernize”或“ get-wid-it”,我认为更多的人会发现rebasing很有趣。

首先,在尝试重新设置基准之前,可以通过备份所做的更改使自己省心。 您可以通过以下方式做到这一点:

  • 创建一个临时分支,该分支将冻结您的分支更改,直到重新定基础
  • 复制并保存您已更改的任何文件,或将整个项目本地保存在计算机上

因此,现在,世界就在您的牡蛎上,而您必须彻底出错,才能完全失去所有工作。

因此,这是有关如何重新设置基准的简短教程:

在分支机构的基础项目目录中,在终端中运行:

git rebase master -i ←’i’表示交互式,它使您可以管理和修改提交历史记录。

您将在分支上看到提交列表,并且可以选择picksquashdrop等等。它们中的每一个都是有用的,并且具有不同的用途,但是为了简单起见,在本教程中,我不再赘述。 您可以按原样离开并pick每个提交(或压缩除第一个提交以外的所有提交)。

如果没有合并冲突,您将看到以下消息:
Successfully rebased and updated refs/heads/your-branch-name.

但是,您可能会有合并冲突。 同样, merge conflicts是一个令人恐惧的名称-如果将其称为“需要编辑”或“选择武器”或“购物”,它将更容易获得。
因此,这是纠正合并冲突的方法:
git status ←这将向您显示哪些文件存在合并冲突

open file-name-that-has-merge-conflict ←然后,在IDE中打开每个文件,然后选择所需的代码(您将在HEAD上看到该版本,并在本地分支上看到该版本)。

git add file-name-that-had-merge-conflict ←添加/保存更改

git rebase --continue ←继续基础

您可能需要重复上述步骤几次(每次正在处理的提交中存在合并冲突时,一次)。

最后,您应该看到令人垂涎的消息:

Successfully rebased and updated refs/heads/your-branch-name.

您的最后一步是:

运行项目以确保更改已正确应用(并且该项目仍在运行)

向上推送更改: git push -f ! 你做到了!

开心地重新定级/更新/现代化/结识和管理合并冲突/需要编辑/选择武器/购物!