我已经对 git repo 创建了一些更改,并将它们提交给 master(但是,我没有将更改推送到 GitHub)。我现在需要做的是创建一个新分支,并将我的提交转移到这个新分支。更改非常大,因此无法在新分支上手动重做更改 - 希望有一些命令可以将 master 倒回到我的提交之前,将我的提交移动到新分支上,然后将它们向上推送。
我确实搜索了其他问题,但我没有看到任何完全适合我的情况,所以想得到一个准确的答案。
提前致谢!
这很容易:
# 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
首先,创建新分支,然后倒带 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
。