Git 是否将提交移动到Visual Studio中的其他分支?

Git 是否将提交移动到Visual Studio中的其他分支?,git,visual-studio,Git,Visual Studio,偶尔,我把工作交给别人,只是后来才意识到在自己的分支机构工作会更好 事后诸葛亮是20/20,如果我提前考虑的话,我会建立一个新的分支,然后致力于这一点,让我在第一时间避免这个问题 是否可以将现有提交移动到新分支上?如果是,是如何做到的?可以通过Visual Studio实现吗?可以在Visual Studio中完成。以下是步骤: 首先确保没有任何挂起的更改。隐藏、提交或撤消它们。 右键单击您签出的分支并从中选择新建本地分支。。。 输入新分支机构的名称,但取消选中“签出分支机构”。 现在查看当前分

偶尔,我把工作交给别人,只是后来才意识到在自己的分支机构工作会更好

事后诸葛亮是20/20,如果我提前考虑的话,我会建立一个新的分支,然后致力于这一点,让我在第一时间避免这个问题


是否可以将现有提交移动到新分支上?如果是,是如何做到的?可以通过Visual Studio实现吗?

可以在Visual Studio中完成。以下是步骤:

首先确保没有任何挂起的更改。隐藏、提交或撤消它们。 右键单击您签出的分支并从中选择新建本地分支。。。 输入新分支机构的名称,但取消选中“签出分支机构”。 现在查看当前分支的历史记录。 在“历史记录”视图中,右键单击要重置为的提交。这将是您打算添加到新分支的第一次提交之前的提交。选择重置->删除更改-硬。 现在签出您的新分支。 现在,您将处于与最初创建新分支完全相同的情况

旁注:我建议您从命令行而不是使用GUI来学习如何做到这一点。一旦您了解了它,它会更快、更简单,不会将您绑定到任何特定的UI,并使您能够更轻松地编写喜爱的工作流脚本。例如,以下是来自命令行的相同工作流:

首先确保没有任何挂起的更改。隐藏、提交或撤消它们。 git branch新分支名称创建新分支,就像现在签出的分支一样 git reset-硬头~1返回一次提交更改1到您需要的数量 git签出新分支名称
这回答了你的问题吗?它可以通过VisualStudio实现吗?我怀疑,VS的GIT界面真的很差。帮你自己一个忙,学习命令或获取@Liam-你的链接假设cherry pick是必要的,我不相信这是基于问题的措辞,而且这个问题问如何使用Visual Studio来完成,这个问题和答案没有解决。对于命令行来说,这更为相关:这不是在分支之间移动提交。你刚才删除的是提交。这不是OP的要求。他们需要使用@Liam-My answer将提交移动到基于当前分支的新分支。OP没有明确指定新分支是否基于当前分支。只有在不需要的情况下才需要Cherry pick。但根据第一句话的措辞,最好是在它自己的分支中,我认为我的解释可能是正确的。@Liam-顺便说一句,如果需要cherry pick,它在Visual Studio中需要额外的几个步骤,但仍然是可能的。@Liam这只是在另一个问题中提出的,它让我想起了我们去年的讨论。我想我对另一个问题的评论可能会澄清我想说的,那就是:Cherry pick无论您的具体场景如何都会起作用,所以这是一种很好的默认方法。注意:如果您的场景是,您打算从当前所在的分支上创建一个新分支,但却忘记了,那么您可以与cherry pick相比节省一个步骤,而不是从当前位置创建一个新分支,然后将当前分支重置回新提交之前的位置。