Git 如何在不提交更改的情况下签出到新分支?

Git 如何在不提交更改的情况下签出到新分支?,git,gitlab,Git,Gitlab,我将gitlab repo的开发分支克隆到本地机器(窗口)。在那之后,我本应该通过git checkout-b new_branch从这个development分支创建一个新分支,但我忘记了这么做,我在development分支内部做了所有更改。我只是在推(我的坏东西)的时候才记得 现在我想从这个development分支创建一个新的分支,并想将development分支的所有这些更改(没有推送也不应该推送)保留到这个新创建的分支。如何做到这一点?这是人们在使用Git时经常犯的一个错误,而且不仅

我将gitlab repo的
开发分支克隆到本地机器(窗口)。在那之后,我本应该通过
git checkout-b new_branch
从这个
development
分支创建一个新分支,但我忘记了这么做,我在
development
分支内部做了所有更改。我只是在推(我的坏东西)的时候才记得


现在我想从这个
development
分支创建一个新的分支,并想将
development
分支的所有这些更改(没有推送也不应该推送)保留到这个新创建的分支。如何做到这一点?

这是人们在使用Git时经常犯的一个错误,而且不仅仅是初学者偶然犯下的错误。假设您尚未提交工作,您甚至可以签出一个新分支:

# from development
git checkout -b new_branch
然后,投入你的工作,你应该准备好去做。如果由于某种原因,您无法从
开发
创建新分支,另一个简单的选择是只隐藏您的工作,然后创建分支并应用隐藏:

# again, from development
git stash
git checkout -b new_branch
# from new_branch
git stash apply
完成此新分支后,请再次提交您的工作。

可能是遗憾类型3: