我开始了一些新功能的工作,编写了一段时间后,我决定这个功能应该独立成一个分支。
如何将现有的未提交更改移动到一个新分支并重置当前分支?
我想重置当前分支,同时保留新功能上的现有工作。
2020年更新/Git 2.23
Git 2.23添加了新的switch
子命令,试图解决由于过度使用checkout
而引起的困惑(切换分支、恢复文件、分离HEAD等)。
从此版本的Git开始,用以下命令替换checkout命令:
git switch -c <new-branch>
行为相同且保持不变。
2020年更新之前/Git 2.23之前
使用以下命令:
git checkout -b <new-branch>
这将保留您当前的分支不变,创建并检出一个新分支并保留所有更改。然后,您可以使用以下命令将文件中的更改暂存以提交:
git add <files>
然后使用以下命令提交到新分支:
git commit -m "<此提交的简要描述>"
工作目录中的更改和暂存索引中的更改不属于任何分支。这将更改这些修改结束的分支。
您不会重置您的原始分支,它保持不变。<old-branch>
上的最后一个提交仍将保持不变。因此,您进行checkout -b
然后提交。