一尘不染

将现有的、未提交的工作移动到 Git 中的新分支

javascript

我开始了一些新功能的工作,在编写了一些代码之后,我决定这个功能应该在它自己的分支上。

如何将现有未提交的更改移动到新分支并重置我当前的?

我想重置我当前的分支,同时保留新功能的现有工作。


阅读 181

收藏
2022-01-14

共1个答案

一尘不染

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然后提交。

2022-01-14