在 Git 中使用 Cherry-Pick 进行多次提交
完成分支工作后,我们通常不需要合并
到现有文件中。
我们经常需要从不同的分支获取一些特定的提交,而不是在一个特定的分支中处理所有的提交。这就是为什么在 Git 中使用 git-cherry pick
命令的原因。
Git 中的 Git merge
和 Git
Cherry-Pick 命令之间的区别
git merge
就像 Git cherry-pick
命令。Git cherry-pick
命令用于将另一个分支的更改同化到我们想要的分支。
在使用 merge
命令时,我们通常可以将在另一个分支中完成的所有更改同化到我们想要的分支中。
但另一方面,有时我们只需要在我们想要的分支中进行一些更改。为此,Git cherry-pick
命令是最安全的选择。
Git 中的 Cherry-picking
错误修复提交
Cherry-picking
通常可以解释为将错误修复更新到我们软件的先前版本,这意味着仅从特定分支中的数百个错误修复中获取一些明确的错误修复提交。
然后出于任何原因在将来使用该特定的错误修复提交。当团队想要修复生产或实时 Web 或桌面应用程序中的一些重要错误时,主要使用此语句或命令。
使用此命令,团队准备发布并将其部署到生产或实时环境中。
Git 中的多个 cherry-pick
提交
在某些情况下,我们希望在不同分支中同时对多个提交应用 cherry-pick
。然后我们必须首先识别两个提交并在其上使用以下命令。
之后,可以使用 A 和 B 分支之间的点表示法在多个提交上完成 cherry-picking
,如下面的命令所示:
$ git cherry-pick A..B
应用此命令后,commit A
将不会被同化为 cherry-pick
。
为了同化 commit A
,我们可以使用以下语法:
$ git cherry-pick A^..B
使用 Rebase
命令在 Git 的特定分支上选择所需的更改
我们还有另一种方法可以使用 Git 中的 rebase
命令在特定分支中选择所需的更改或提交。在此方法中,我们可以使用选项 onto``rebase
命令。
我们可以在两种情况下使用 git rebase --onto
:
- 第一个条件是我们有一个分支想要替换它在仓库中的父分支。
- 其次,我们希望立即从仓库中的当前分支中删除一些提交。
假设我们的 branch
是在 D
结束的分支,这是我们想要将 C
-Y
移动到的所需分支。
git reset --hard Y
git rebase --onto A B
它帮助我们从特定点开始变基或提交到所需的提交。我们可以完全管理在特定分支提交中要变基的内容和变基的位置。
相关文章
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类: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 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。