我已经为git repo创建了一些更改,并将它们提交给master(我有 NOT 将更改推送到GitHub)。我现在需要做的是创建一个新分支,并将我的提交移到这个新分支。这些更改非常大,因此无法手动重做新分支上的更改 - 希望有一些命令可以在我的提交之前将master重绕,将我的提交移到新分支上,然后将它们推送到上面。 / p>
我确实在寻找其他问题,但我没有看到任何完全适合我的情况,所以想得到一个确切的答案。
提前致谢!
答案 0 :(得分:3)
这很容易:
# make sure you're on master
git checkout master
# create a new branch that is identical to master
git branch mystuff master
# reset your local master branch to the state of the remote master
git reset --hard origin/master
# push your new branch to the remote
git push origin mystuff
答案 1 :(得分:1)
首先,创建新分支,然后重绕master:
git branch new_branch
git reset --hard <sha1-id>
要查找所需的sha1-id,请检查git log
。
之后,您可以将该分支推送到您的遥控器:
git checkout new_branch
git push -u origin new_branch
请注意,-u
会设置跟踪分支,这意味着您可以在不指定git pull
的情况下发布git push
和origin new_branch
。