迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

在命令行中使用 Git Rebase

作者:迹忆客 最近更新:2023/04/05 浏览次数:

本文将讨论有效地使用 git rebase 命令。 git rebase 命令允许我们更改一系列提交并修改我们存储库中的提交历史记录。

我们可以使用 git rebase 命令编辑、重新排序或压缩提交。


在命令行中使用 git rebase

以下是一些常见的使用选项。

  1. 我们可以编辑以前的提交消息。
  2. 我们可以将两个或多个提交合并为一个。
  3. 我们可以还原或删除存储库中不必要的提交。

变基时,我们可以针对分支或存储库中的某个时间点进行变基。

要针对分支进行变基,我们运行:

$ git rebase --interactive <branch_name>

为了对某个时间点进行变基,我们运行:

$ git rebase --interacive HEAD~

我们可以添加 HEAD~7 来变基到第七次提交。

让我们看看变基时可用的命令。

  • pick - 我们用它来重新排序我们的提交历史。
  • reword - 当我们想要更改提交消息时使用它。 它不会影响提交引入的更改。
  • edit - 当我们想要编辑或修改提交时使用它。 我们可以将提交拆分为更小的提交或删除提交引入的错误。
  • squash - 我们使用它将两个提交合并为一个,并让我们有机会为新提交提供新消息。
  • fixup - 它与 squash 相同,除了它丢弃合并提交的消息并使用它上面的消息。

我们现在将尝试在示例中使用上述选项。 在此示例中,我们将根据 Delftscopetech 存储库中的某个时间点进行变基。

我们将变基 HEAD~7。 运行下面命令:

$ git rebase --interactive HEAD~7

文本编辑器显示以下输出。

git rebase 直到第七次提交

我们的提交是从最旧到最新排列的。

在我们的文本编辑器中,我们将:

  1. 使用 squash 将提交 (fa39187) 压缩为提交 (1fc6c95)。
  2. 将最后一次提交 (7b36971) 移到提交 (6b2481b) 之前,并将其保留为 pick。
  3. 将提交 (c619268) 合并到提交 (6b2481b) 中,并使用修复丢弃提交消息。
  4. 使用编辑拆分 (dd1475d)。
  5. 使用 reword 修复提交消息 (4ca2acc)。

我们将修改文本编辑器中的命令,如下所示。

修改文本编辑器

我们可以保存并关闭文本编辑器,Git 将启动 rebase。

Git 将跳过 pick 1fc6c95 并打开一个编辑器,因为 squash 需要我们的一些输入。 它应该看起来像这样。

Git 打开编辑器——squash

如果对更改感到满意,您可以关闭编辑器并继续变基。 接下来的三个命令不需要我们的输入,但编辑需要并将以下消息打印到终端。

Git 打开编辑器——编辑

此时,我们可以进行任何更改并使用 git commit --amend 命令创建一个新的提交。 完成后,我们可以通过运行 git rebase --continue 命令继续。

始终在进行更改后运行 git rebase --continue 。 如果您忘记运行命令并继续编码,则以后无法变基。

但是,您可以通过以下方式补救:

  1. 运行 git reset --soft HEAD^ 命令到 HEAD ref 到父级。
  2. 运行 git rebase --continue 以完成变基。

您还可以通过运行 git rebase --abort 命令来中止变基并重做该过程。 这将需要您再次解决合并冲突。

改写部分将需要我们的输入,Git 将使用以下信息打开文本编辑器。

Git 打开编辑器 - 重写

我们可以更改文本,保存文件并完成变基。

简而言之,git rebase 命令允许我们根据提交更改存储库的状态。 我们可以压缩、重命名或重新排序提交。

在 rebase 时合并冲突时要注意。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便