在Git分支工作,然后决定是否需要一个新的分支,一些文件已经提交
我知道如果我在一个分支中工作,我可以创建一个新的分支,我的所有提交都将转到新的分支。但是如果我一直在工作,我已经做了一些提交,仍然在工作,然后意识到需要一个新的分支,包括我已经做的提交(但没有推到原点),那该怎么办呢。有没有办法把所有东西都放到一个新的分支中?当然,请执行以下操作:在Git分支工作,然后决定是否需要一个新的分支,一些文件已经提交,git,git-branch,Git,Git Branch,我知道如果我在一个分支中工作,我可以创建一个新的分支,我的所有提交都将转到新的分支。但是如果我一直在工作,我已经做了一些提交,仍然在工作,然后意识到需要一个新的分支,包括我已经做的提交(但没有推到原点),那该怎么办呢。有没有办法把所有东西都放到一个新的分支中?当然,请执行以下操作: git checkout -b new_branch 这将从当前头创建一个新分支。然后: git stash 这将暂时存储当前更改。然后: git checkout former_branch 回到以前的分支,
git checkout -b new_branch
这将从当前头创建一个新分支。然后:
git stash
这将暂时存储当前更改。然后:
git checkout former_branch
回到以前的分支,然后:
git reset --hard HEAD^
这会将一个提交从前分支的末尾倒回(使用任何您想要指向要返回的提交的内容,可能是源代码/master
或其他内容)。最后:
git checkout new_branch
git stash pop
然后继续工作。很好,但是太多了,只需git checkout-b newbranch就足够了:)@Tim:不过,这并不会倒回上一个分支的提交。我想OP并没有特别要求这样做,但如果需要的话,这是一种方法。是的,我不希望上一个分支上的提交。我今天要试一试。