将最近提交的工作放在 Git 中的分支上
Putting recent committed work on a branch in Git
我一直在 master
分支上做一些工作。我已经做了几次提交,但我的提交还没有被推送。我已经决定这项工作足够广泛,我应该把它放在一个分支上。 (这听起来像 Create branch from current working tree and reset to HEAD 但在那个问题中没有提交,所以问题不相同。)
我是一位经验丰富的 Git 用户,理论上我有理由相信我可以简单地执行以下操作:
git branch new-branch
git reset commit-before-start-of-work --hard
所以如果我想把我在上次 push
之后所做的所有工作都放在一个分支上,我会这样做:
git branch new-branch
git reset origin/master --hard
这似乎合乎逻辑且容易,但由于我直到今天才这样做甚至想过它,所以我想在尝试之前先问一下。由于我没有找到相同的问题,也许它也会对某人有所帮助。
是的,没错。在开始之前,请确保 git status
显示所有已提交的内容,因为 git reset --hard
将替换当前索引和工作树内容而不询问您,即使它们尚未在任何地方提交。
我一直在 master
分支上做一些工作。我已经做了几次提交,但我的提交还没有被推送。我已经决定这项工作足够广泛,我应该把它放在一个分支上。 (这听起来像 Create branch from current working tree and reset to HEAD 但在那个问题中没有提交,所以问题不相同。)
我是一位经验丰富的 Git 用户,理论上我有理由相信我可以简单地执行以下操作:
git branch new-branch
git reset commit-before-start-of-work --hard
所以如果我想把我在上次 push
之后所做的所有工作都放在一个分支上,我会这样做:
git branch new-branch
git reset origin/master --hard
这似乎合乎逻辑且容易,但由于我直到今天才这样做甚至想过它,所以我想在尝试之前先问一下。由于我没有找到相同的问题,也许它也会对某人有所帮助。
是的,没错。在开始之前,请确保 git status
显示所有已提交的内容,因为 git reset --hard
将替换当前索引和工作树内容而不询问您,即使它们尚未在任何地方提交。