如何使用 Git Cherry

您所在的位置:网站首页 鞋子上的字母怎么修复 如何使用 Git Cherry

如何使用 Git Cherry

2023-06-13 11:30| 来源: 网络整理| 查看: 265

0 分享至

用微信扫码二维码

分享至好友和朋友圈

Git 是开发人员的强大工具,使他们能够跟踪代码中的更改、与他人协作以及管理代码文件的不同版本。

Git的一个关键特性是能够挑选提交——选择性地将更改从一个分支应用到另一个分支。本教程探索使用Git cherry-pick 命令来应用选定的提交。

在本指南中,您将学习如何使用 Git cherry-pick 命令将特定提交从一个分支应用到另一个分支。

到本文结束时,您将能够浏览 Git 提交历史记录、有选择地应用更改并解决在此过程中出现的任何冲突。

第 1 步:了解 Git 提交和 Cherry-Pick

在我们深入探讨使用 Git cherry-pick 命令的实际方面之前,了解 Git 提交的概念以及 Git 中的 cherry-picking 需要什么是至关重要的。

了解 Git 提交

在 Git 中,提交是存储库在某个时间点的快照。它包括自上次提交以来您所做的所有更改。Git 中的每个提交都有一个唯一的哈希标识符,它是由哈希算法生成的一串字母数字字符。这个散列用作一个地址,允许 Git 稍后调用、比较或操作提交。

通过创建提交,您可以有效地保存不同版本的代码文件。可以查看、比较甚至还原这些版本,从而为您的项目开发提供极大的灵活性和控制。

了解 Git Cherry-Pick

Git cherry-pick 是一个功能强大的命令,它使您能够从一个分支“挑选”一个提交并将其应用到另一个分支。这在几种情况下非常有用:

您错误地在错误的分支上进行了提交,并希望将该提交应用于正确的分支。您正在处理一个功能分支并修复了一个错误,该错误修复也需要在主分支上进行。 您希望避免合并整个分支,但您希望在当前分支中包含该分支上的特定提交。

值得注意的是,cherry-pick 操作不会从源分支中删除提交。相反,它在目标分支上创建一个新的提交,其中包括来自精心挑选的提交的更改。这样,两个分支的历史都保持不变。

在以下步骤中,您将学习如何使用 Git cherry-pick 命令。

了解 Git 提交和 cherry-pick 的基本概念是利用 Git 中版本控制功能的第一步。

第 2 步:在单个提交上使用 Git Cherry-Pick

现在我们对 Git 提交和 cherry-pick 有了基本的了解,让我们使用 cherry-pick 命令。在此步骤中,您将把单个提交从一个分支应用到另一个分支。

切换到目标分支

在您挑选提交之前,请确保您位于要应用提交的分支上。使用git checkout命令切换到该分支:

git checkout

替换为目标分支的名称。

识别提交哈希

接下来,您需要确定要挑选的提交。您可以使用命令查看您的提交历史记录git log。此命令将向您显示所有提交的列表,每个提交都有其唯一的哈希值、作者和提交消息。

git log

您将看到类似于以下内容的输出:

commit d4e7618b062bfbeb8f79f430afe5a69a2c2b3396 (HEAD -> main) Author: Your Name Date: Wed Feb 9 14:00:19 2023 -0500 Fixed the bug in the login feature commit c3e5749b64e4d3f93f3d5c6e6c5056757e8a74b1 Author: Your Name Date: Tue Feb 8 11:25:03 2023 -0500 Added new feature

从git log输出中,确定要挑选的提交的哈希。散列是单词“commit”之后的字母数字字符串。在这种情况下,如果我们想挑选我们修复错误的提交,我们将复制哈希`d4e7618b062bfbeb8f79f430afe5a69a2c2b3396`。

使用 Git Cherry-Pick 应用提交

git cherry-pick现在您有了提交哈希,您可以使用命令后跟提交哈希将此提交应用到当前分支:

git cherry-pick d4e7618b062bfbeb8f79f430afe5a69a2c2b3396

替换d4e7618b062bfbeb8f79f430afe5a69a2c2b3396为您提交的哈希值。

运行此命令后,Git 会将指定提交的更改应用到当前分支,并为这些更改创建新的提交。

您现在已经成功地挑选了一个提交!在以下步骤中,您将学习如何挑选多个提交并在挑选过程中解决冲突。

第 3 步:在多个提交上使用 Git Cherry-Pick

在上一步中,我们学习了如何使用git cherry-pick将单个提交从一个分支应用到另一个分支。但是如果你想应用多个提交怎么办?在这一步中,我们将探讨如何挑选多个提交。

切换到目标分支

与挑选单个提交一样,确保您位于要应用提交的分支上。使用git checkout命令切换到该分支:

git checkout

替换为目标分支的名称。

识别提交哈希

接下来,您需要确定要挑选的提交。使用该git log命令查看您的提交历史记录和相应的提交哈希值。

git log

此命令将向您显示类似于以下内容的输出:

commit d4e7618b062bfbeb8f79f430afe5a69a2c2b3396 (HEAD -> main) Author: Your Name Date: Wed Feb 9 14:00:19 2023 -0500 Fixed the bug in the login feature commit c3e5749b64e4d3f93f3d5c6e6c5056757e8a74b1 Author: Your Name Date: Tue Feb 8 11:25:03 2023 -0500 Added new feature

从git log输出中,确定要挑选的提交的哈希值。散列是出现在单词“commit”之后的字母数字字符串。

使用 Git Cherry-Pick 应用提交

现在您有了提交哈希,您可以使用命令git cherry-pick后跟提交哈希将这些提交应用到当前分支:

git cherry-pick d4e7618b062bfbeb8f79f430afe5a69a2c2b3396 c3e5749b64e4d3f93f3d5c6e6c5056757e8a74b1

将d4e7618b062bfbeb8f79f430afe5a69a2c2b3396and替换c3e5749b64e4d3f93f3d5c6e6c5056757e8a74b1为您提交的哈希值。

注意:Git 按照您提供的顺序应用提交。所以,在上面的命令中,Git 会先申请 commit d4e7618b062bfbeb8f79f430afe5a69a2c2b3396,然后再申请 commit c3e5749b64e4d3f93f3d5c6e6c5056757e8a74b1。

运行此命令后,Git 会将指定提交的更改应用到当前分支,并为这些更改创建新的提交。

恭喜!您现在已经成功地挑选了多个提交!在下一步中,您将学习如何解决挑选过程中的冲突。

第 4 步:解决cherry-pick 过程中的冲突

在从一个分支到另一个分支的 cherry-picking 提交过程中,可能会出现冲突。当您尝试git cherry-pick 的提交更改与当前分支中已有的更改相矛盾时,通常会发生这些冲突。Git 无法决定接受哪个更改,因此会出现冲突。

在此步骤中,您将学习如何解决挑选过程中的冲突。

假设您正在挑选一个提交,并且发生了冲突。Git 将暂停 cherry-picking 过程并给你一个类似这样的错误信息:

error: could not apply fa39187... some commit message hint: after resolving the conflicts, mark the corrected paths hint: with 'git add ' or 'git rm ' hint: and commit the result with 'git commit.'

识别和查看冲突

要识别导致冲突的文件,请使用以下git status命令:

git status

Git 会显示导致冲突的文件列表。它们通常被标记为“未合并”。

然后您可以使用您喜欢的文本编辑器打开这些文件。在文件中,您会发现以下列方式标记的冲突更改:

/阅读下一篇/ 返回网易首页 下载网易新闻客户端



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3