我开始研究一个新特性,在编码了一段时间后,我决定这个特性应该属于自己的分支。
如何将现有未提交的更改移动到新分支并重置当前分支?
我想重置当前分支,同时保留新功能的现有工作。
我开始研究一个新特性,在编码了一段时间后,我决定这个特性应该属于自己的分支。
如何将现有未提交的更改移动到新分支并重置当前分支?
我想重置当前分支,同时保留新功能的现有工作。
当前回答
事实上,使用GitHub Desktop有一种非常简单的方法来实现这一点,我以前不相信这是一种功能。
你所需要做的就是切换到GitHubDesktop中的新分支,它会提示你将所做的更改保留在当前分支上(将被隐藏),或者将更改带到新分支。只需选择第二个选项,将更改添加到新分支。然后,您可以像往常一样提交。
其他回答
对于那些使用Visual Studio Community 2022(以及可能更早的版本)的用户,当您有未提交的更改,然后创建一个新分支时,您将看到如下对话框:
只需选择第一个选项将更改带到“[您的新分行名称]”,然后单击“继续签出”。将创建新分支,您可以继续在那里提交更改。
这可能有助于所有使用GIT工具的人
命令
切换分支-它会将您的更改移动到新分支。然后您可以提交更改。
$ git checkout -b <new-branch>
乌龟GIT
右键单击存储库,然后使用TortoiseGit->切换/签出
源代码树
使用“签出”按钮切换分支。单击分支后,您将看到顶部的“结帐”按钮。来自当前分支的更改将自动应用。然后你就可以提交它们了。
如果你提交了它,你也可以选择一个提交ID。当我开始在master中工作时,我经常这样做,然后想在我推到origin/之前创建一个本地分支。
git cherry-pick <commitID>
正如这里所描述的,你可以用樱桃树做很多事情,但这可能是你的一个用例。
事实上,使用GitHub Desktop有一种非常简单的方法来实现这一点,我以前不相信这是一种功能。
你所需要做的就是切换到GitHubDesktop中的新分支,它会提示你将所做的更改保留在当前分支上(将被隐藏),或者将更改带到新分支。只需选择第二个选项,将更改添加到新分支。然后,您可以像往常一样提交。
常见的情况如下:我忘记为新功能创建新分支,而在旧功能分支中执行所有工作。我已将所有“旧”工作交给了主分支,我希望我的新分支从“主”分支中成长。我还没有对我的新工作作出任何承诺。分支结构如下:“master”->“Old_feature”
git stash
git checkout master
git checkout -b "New_branch"
git stash apply