在 Git 中将提交移动到另一个分支
Git 是现代软件世界中非常有用且功能强大的工具。许多类型的文件和代码可以通过 Git 中的分支和提交来存储。分支是一个不同的概念,具体取决于你使用的版本控制系统。由于其效率,许多开发人员认为它是最受青睐的版本控制系统。
大多数时候,当完成一些工作并提交到特定分支后,我们会遇到这种情况,我们意识到我们错误地提交到了错误的分支,并想在另一个分支上再次提交。Git 来救我们了,它允许我们将提交移动到其他现有分支或新分支上。
本指南将让我们基本了解如何将我们的提交移动到另一个分支,它可能是一个新的或现有的分支。此外,我们将讨论如何使用 git branch 命令创建新分支,使用 git reset
命令移动提交,以及使用 git merge 命令将这些更改合并回主分支。
在 Git 中计算迁移的提交次数
在开始整个过程之前,我们需要判断情况。假设我们已经检查了要更改的分支;为此,我们需要了解历史。
我们将使用以下命令来计算要移动的提交数。
git log
执行后,我们可以看到 HEAD
是 origin/HEAD
头部的两个提交,这是我们需要移动到另一个分支的两个期望提交。下面是剩下的步骤,我们将在其中介绍如何将这些提交移动到新分支或现有分支。
在 Git 中移动提交到一个新的分支
下面提到的步骤将向我们展示如何将最新的提交移动到新的分支。
-
创建一个新分支
git branch feature/new branch
此命令将创建一个新分支,其中将包含
master(current)
分支的所有提交。 -
将当前分支移回两个提交
git reset --keep HEAD~2
-
查看新分支
git checkout feature/new branch
通过执行这些,我们的两个最新提交已从 master
(当前分支)中删除并添加到一个名为 feature/new branch
的新分支中。
将提交移动到 Git 中的现有分支
下面提到的步骤将向我们展示如何将最新提交移动到现有分支。如果我们一直在使用功能分支,这对我们很有用,但是我们开始错误地在错误的分支中进行提交。让我们假设当前分支以及我们要删除的提交是 master
。
-
检出现有分支
git checkout feature/existing branch
命令
git checkout
不仅限于使用工作目录。它也可以用于将HEAD
参考指针移动到分支上的参考点。 -
合并主分支
git merge master
git merge
命令也可用于将分支合并到当前分支中,但前提是当前分支已经合并到正在合并的分支中。 -
查看主分支<
git checkout master
命令
checkout
master 拉下最新版本的代码并创建一个名为master
的新分支。 -
将当前分支移回两个提交:
git reset --keep HEAD~2
--keep
选项将重置索引条目并更新工作树中提交和HEAD
之间不同的文件。当 commit 之间的文件不同且 HEAD 有本地更改时,reset 将终止。因此,最新的两个提交已从master
中删除并添加到现有分支中。
相关文章
如何在 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 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。