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

问题描述

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

解决方法

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

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

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...