【发布时间】:2015-05-10 13:28:38
【问题描述】:
在开发过程中,有时我意识到我应该分开我的工作并单独提交一个小修复 - 但是,如果我有正在进行的未提交更改,并且我已经在一个有多个提交的分支上,这会变得很困难。
Git 似乎有以下选项,但都不是理想的:
- 将更改提交到当前分支。待未完成的更改完成并提交后,再挑选它。
- 克隆第二个存储库并在其中复制/粘贴更改。
- 存储未提交的更改。切换、编写小修复、提交、推送、切换回、unstash(似乎冗长,需要在编写之前意识到小修复需要一个单独的分支)
我想我想要类似的东西:
- 提交“到新分支”,指定基本提交和分支名称。这将创建一个新分支,提交更改,并可选择保留在当前分支上,包括未完成的更改,或者切换到新分支放弃未暂存的更改。
有这样的东西我可以使用吗?有没有更好的方法来完成这一切?
【问题讨论】:
-
为什么不在提交修复之前签出一个新分支,推送然后签出到 dev 分支
-
因为如果这些更改可能与您要切换到的内容发生冲突,您将无法切换未提交的未提交更改。
-
对于“可能重复”的问题,答案无济于事 - 存储将存储所有未提交的更改,包括我不想移动的内容。如上所述,首先切换分支没有帮助。
-
Git 提供了所有的管道命令来实现你想要的,但你必须围绕它包装你自己的逻辑。这是可行的,但不是微不足道的。
标签: git git-branch