如何从master获取我的本地提交并将它们放在一个新的分支中

时间:2013-03-27 11:20:20

标签: git branch commit

我已经为git repo创建了一些更改,并将它们提交给master(我有 NOT 将更改推送到GitHub)。我现在需要做的是创建一个新分支,并将我的提交移到这个新分支。这些更改非常大,因此无法手动重做新分支上的更改 - 希望有一些命令可以在我的提交之前将master重绕,将我的提交移到新分支上,然后将它们推送到上面。 / p>

我确实在寻找其他问题,但我没有看到任何完全适合我的情况,所以想得到一个确切的答案。

提前致谢!

2 个答案:

答案 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 pushorigin new_branch