Git 将一些未提交的更改移动到新分支

Git 将一些未提交的更改移动到新分支,git,git-branch,Git,Git Branch,我正在开发一个新的私有(本地)分支,名为TOPIC实现一个新功能。在研究这个新特性一段时间后,我意识到我写的一些东西应该在它自己的分支中,GIZMO。但我也有一些未提交的文件,它们不应该属于GIZMO 假设我有以下尚未提交的文件: foo/a.cpp foo/b.cpp foo/c.cpp feature/magic.cpp feature/unicorns.cpp feature/gold.cpp 我想做的是创建一个由foo/*组成的新主题分支GIZMO,这样我就可以提交该分支并将其合并回m

我正在开发一个新的私有(本地)分支,名为
TOPIC
实现一个新功能。在研究这个新特性一段时间后,我意识到我写的一些东西应该在它自己的分支中,
GIZMO
。但我也有一些未提交的文件,它们不应该属于
GIZMO

假设我有以下尚未提交的文件:

foo/a.cpp
foo/b.cpp
foo/c.cpp
feature/magic.cpp
feature/unicorns.cpp
feature/gold.cpp
我想做的是创建一个由
foo/*
组成的新主题分支
GIZMO
,这样我就可以提交该分支并将其合并回
master
,然后继续处理
topic

这与我看到的不同,因为在这些问题中,一个新的分支是从所有未提交的更改创建的,而这不是我在这里想要做的。在这里,我只想从一些未提交的更改中创建一个新分支


这可能吗?

您是否可以提交您想要的内容,并隐藏未提交的更改。创建一个新分支,弹出隐藏,提交更改,切换回您想要的任何分支

因此,对于您的示例,提交您的
feature/*
文件。把你的
foo/*
文件藏起来。切换到一个新的分支。打开你的藏品,它只能是
foo/*
文件。将它们提交到新分支,然后切换回主分支


如果不想先提交
feature/*
文件,然后隐藏所有内容,请仅在新分支上提交
foo/*
。再次为
feature/*
文件创建另一个新的存储库,并在您切换回Master时重新弹出该文件。

我可以,但我使用的分支命名方案与
GIZMO
文件的(真实)名称不匹配。我更喜欢用一些未提交的东西创建一个全新的分支。我不知道分支命名方案如何阻止您隐藏/切换/弹出。文件名本身不同吗?哦,还有,
功能/*
文件并不是我现在想要提交的状态。有时我可能会
——稍后修改提交,但我希望得到更直接的解决方案。您的编辑澄清了我对您建议的一些误解。这可能比我最初想象的更好。不,你当然不会介意,我会的。我只是想看看是否可以先征求其他答案。谢谢你的回答。