HOWTO · Git

提交對 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 命令刪除提交。