问题描述
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 "<Brief description of this commit>"
工作目录中的更改和索引中暂存的更改尚不属于任何分支。这会更改这些修改将结束的分支。
您不会重置原始分支,它会保持原样。最后一次提交<old-branch>
仍然是相同的。因此你checkout -b
然后提交。
解决方法
我开始了一些新功能的工作,在编写了一些代码之后,我决定这个功能应该在它自己的分支上。
如何将现有未提交的更改移动到新分支并重置我当前的?
我想重置我当前的分支,同时保留新功能的现有工作。