提交对 Git 分支的更改

John Wachira 2023年1月30日 2022年4月22日
  1. 在 Git 中移动提交到一个新的分支
  2. 在 Git 中将提交移动到现有同步分支
  3. 将提交移动到 Git 中的现有分支
提交对 Git 分支的更改

本教程将了解如何将提交保存到 Git 中的新分支或现有分支。

本文介绍了如何将提交移至:

  1. 一个新的分支
  2. 现有分支

你经常会发现自己将相同的暂存更改提交到不同的分支。Git 允许你方便地执行此操作,如下所示。

在 Git 中移动提交到一个新的分支

本节将了解如何将工作区分支中的提交移动到新分支。

创建一个包含所有提交的新分支。使用 git branch 命令初始化一个新分支。

git branch <new-branch>

上面的命令将创建一个分支,一个 new-branch

使用 git reset 命令将提交重置为上次更新。

git reset --keep HEAD~N

我们使用 --keep 选项来备份未提交的更改。

在 Git 中将提交移动到现有同步分支

为了更好地理解这个特性,我们将使用一个实际的例子。我们提交到 <wrong branch> 而不是 <right branch>

假设两者是同步的,你如何将提交带到 <right branch>

使用 git checkout 命令导航到现有分支。

git checkout <right branch>

使用 git merge 命令移动提交。

git merge <wrong branch>

要删除错误的提交,请转到 <wrong branch>

git checkout <wrong branch>

使用 git reset 命令恢复提交。

git reset --keep HEAD~N

将提交移动到 Git 中的现有分支

让我们用一个实际的例子来更好地理解这一点。如果你想在不合并分支的情况下移动一个特定的提交,你会怎么做?

在下面的示例中,我们将把一个提交从 <wrong branch> 移动到 <right branch>

切换到 <right branch>

git checkout <right branch>

使用 git cherry-pick 命令和提交的哈希来移动它,如下所示。

git cherry-pick <sha1-commit-hash>

返回到错误的分支并使用 git reset 命令删除提交。

Author: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

相关文章 - Git Branch