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