提交对 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 命令删除提交。