HOWTO · Git
提交對 Git 分支的更改
在本教程中,我們將瞭解如何將提交儲存到 Git 中的新分支或現有分支。
本教程將瞭解如何將提交儲存到 Git 中的新分支或現有分支。
本文介紹瞭如何將提交移至:
- 一個新的分支
- 現有分支
你經常會發現自己將相同的暫存更改提交到不同的分支。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 命令刪除提交。