【问题标题】:Moving some uncommitted changes to a new branch将一些未提交的更改移动到新分支
【发布时间】:2014-05-08 16:02:16
【问题描述】:

我正在开发一个名为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

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

这可能吗?

【问题讨论】:

    标签: git git-branch


    【解决方案1】:

    你能提交你想要的,把你未提交的更改藏起来。创建一个新分支,弹出存储,提交更改,切换回您想要的任何分支?

    因此,对于您的示例,提交您的 feature/* 文件。存放您的 foo/* 文件。切换到基于 Master 的新分支。弹出你的存储,它应该只是 foo/* 文件。将这些提交到您的新分支,然后切换回 Master。

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

    【讨论】:

    • 可以,但我使用的分支命名方案使得GIZMO 的内容与我对@ 的(真实)名称不匹配987654328@。我宁愿只用一些未提交的东西创建一个全新的分支。
    • 我看不出分支命名方案将如何阻止您存储/切换/弹出。文件名本身是否不同?
    • 哦,还有,feature/* 文件并没有真正处于我现在想要提交它们的状态。有时我可以稍后再 --amend 提交,但我希望有一个更直接的解决方案。
    • 您的编辑澄清了我对您的建议的一些误解。这实际上可能比我最初想象的效果更好。
    • 不,你当然不会介意,我会的。我只是想看看我是否可以先征求其他一些答案。感谢您的回答。
    猜你喜欢
    • 2012-11-21
    • 2020-07-28
    • 2021-05-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多